joomla2.5中常用类总结研究

  上一文只研究了JImage类,今天继续其他常用的joomla内置类,个人是从常用角度来写的,如果PHP本身函数比起Joomla内置类用起来更方便的,我就滤过不说,如果你实在想用,自己去查吧,个人觉得,无论多优秀的方法,如果PHP自带函数也能很好解决,那么用PHP内置函数是最好的,学习PHP首先就是学好内置函数,好了,接下来详细讲解那些常用的类以及方法.

  1.文档类,用来对当前页面元素的头部作为主要操作.

$document = JFactory::getDocument();
$document->addScript('1.js');//添加js文件
$document->addScriptDeclaration('alert(1)');//添加js代码
$document->addStyleDeclaration(); //css
$document->addStyleSheet('1.css');
$document->setMetaData('description','关键字');//设置描述或关键字
$document->setCharset('utf-8');
$document->setTitle('标题');

  2.文件操作,需要导入jimport('joomla.filesystem.file');

$j = new JFile();
getExt($file) //获取扩展名不含.
getName($file) //获得文件名
exists($file) //文件是否存在
delete($file) //删除文件
copy($old,$new) //复制
upload($src) //上传
write($file) //写文件
read($file)  //读文件
move($old,$new) //移动文件

这些方法在文件读写,图片文件上传,等都有用处.

  3.文件夹操作,jimport('joomla.filesystem.folder');一般我们导入的时候把文件文件夹都导入,很多时候都会用到

JFolder::create($path,777) //创建文件夹,支持多层
JFolder::delete($path)  //删除文件夹,可以包含文件
JFolder::exists($path)  //检测文件夹是否存在
JFolder::copy($pathold,$pathnew) //复制文件夹
JFolder::files($path) //列出文件夹下面文件的数组
JFolder::folders($path) //列出文件夹下面文件夹的数组

这里说一下::是静态方法,有很多类是支持静态方法的;

  4.图标生成类,用来生成后台的小图标,常用的保存就是之一.

JToolBarHelper::title(JText::_('添加个人信息'), 'weblinks.png');//标题
JToolBarHelper::addNew('info.add');//添加
JToolBarHelper::apply('info.apply');//保存
JToolBarHelper::save('info.save');//保存关闭
JToolBarHelper::editList('info.edit');//编辑
JToolBarHelper::cancel('info.cancel');//取消
JToolBarHelper::deleteList('info.delete');//删除
JToolBarHelper::trash('info.trash');//回收站
JToolBarHelper::divider();//分割线
JToolBarHelper::publish('weblinks.publish', 'JTOOLBAR_PUBLISH', true);//发布
JToolBarHelper::unpublish('weblinks.unpublish', 'JTOOLBAR_UNPUBLISH', true);//取消发布
JToolBarHelper::back();//返回
JToolBarHelper::help('JHELP_COMPONENTS_WEBLINKS_LINKS');//帮助

  5.常用其他方法

JString::transcode('中国','utf-8','gb2312');//转换编码
JUtility::getToken();//用户session ID 等价于JHtml::_('form.token');
JUtility::isWinos();//是否win系统 是输出1
JUtility::sendmail('logove#qq.com','yoby','logoove#foxmail.com','主题','这是内容');//发送邮件要配置的
JUtility::gethash($var);//32位随机字符
JUtility::return_bytes('1k');//转换成字节数 支持g m k
JRequest::getURI();//获得当前url
    JRequest::getMethod ();//提交方式 POST 或GET
    JRequest::getbool('i');//转换成布尔型
    JRequest::getint('i');//取整
    JRequest::getfloat('i');//转换成浮点数
    JRequest::getString('i');//转成字符串
    JRequest::getvar('var',null,'default','array');//通用,第二个是默认值,第三个是方法,有GET
    //POST FILES COOKIE ENV SERVER  最后一个是数据类型 有array int string float
    JRequest::setVar('var',$arr);//设置,可以数组或字符
    JURI::base();//包含administrator绝对路径 参数1是相对路径
    JURI::root();//根目录,参数1是相对路径

  6.数组常用,这个是最常用的

JArrayHelper::arrayUnique($arr2);//去掉重复元素
    $obj = new stdClass();
    $obj->qq='280594236';
    JArrayHelper::fromObject($obj);//对象转换数组
    JArrayHelper::getValue($arr,1);//获得数组第二个值,也可以是下标
    JArrayHelper::toObject($arr);//转换对象
    JArrayHelper::toString($arr,'=',' ');//转成字符串,空格隔开,左边key=value
    JArrayHelper :: toInteger($cid);//转换变量为整形

其他还有很多的方法,比如数据库,xml,表单生成等等,这些说起来都很重要,不过内容过多,在后边有机会再讲,今天的这些方法,基本上来说都很常用,需要了解更多的你需要自己去研究api内容,或者自己读核心代码,我在这里总结出来,可以减少你去阅读时间,后边的注释说明很详细,不懂的可以在下面留言,joomla是一款非常优秀的CMS,不过国内并不流行,dedecms和discuz用户量更大,下次有时间我也会去研究一下的,喜欢cms的不要错过了.

(yoby 原创)

posted @ 2012-11-15 12:37  Yoby  阅读(1215)  评论(1编辑  收藏  举报