上一文只研究了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 原创)