上一文只研究了JImage類,今天繼續其他常用的joomla內置類,個人是從常用角度來寫的,如果PHP本身函數比起Joomla內置類用起來更方便的,我就濾過不說,如果你實在想用,自己去查吧,個人覺得,無論多優秀的方法,如果PHP自帶函數也能很好解決,那麼用PHP內置函數是最好的,學習PHP首先就是學 ...
上一文只研究了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 原創)