joomla2.5中常用類總結研究

来源:http://www.cnblogs.com/androidshouce/archive/2016/06/24/5613017.html
-Advertisement-
Play Games

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • C#本質論和CLR via C#兩本好書,周老師可能是俗務纏身,太忙了吧,翻譯得只能讓人呵呵了。 你要是忙,別接那麼多活好不啦。 現在都在說供給側改革,都在大力提倡工匠精神,我們做技術的,還是踏實點好,對不啦? 對照一下李建忠老師翻譯的那一版CLR via C#,差距啊。 這裡,僅把隨手發現的幾個問 ...
  • 首先,我們定義一個Student類來測試. 在這樣一個數據中. 我們發現,如果使用自帶的 Distinct ,發現得數據依然是一樣,並沒有想象中的去除重覆。 以下,給出幾個解決方案。 第一種: 繼承EqualityComparer 我們新建一個類。如下。且必須重寫父類中的抽象方法。Equals和Ge ...
  • 一、背景 這幾天在維護公司的一個項目,嗯…到現在七八年沒人動過了(也是老古董了),都說N年前的代碼碰不得 處處是坑 不能挖坑還得一步一步的填坑,恰好今天就填了一坑 此處作為記錄 供以後翻閱,對代碼除了有些看不懂或者說是很凌亂之外,其他都還行(沒註釋、有註釋的地方是自動生成的英文註釋…..、包含 各種 ...
  • 組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織 組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織 組織者組織組織者組織組織者組織組織者組織組織者組織組織者組織 組織者組織組織者組織組織者組織組織者組織組織 ...
  • 本文只是基礎代碼片段,直接先寫 結論: C# DateTime 時間相減 —— 和 時區無關,只和時間值有關。 運行結果: 測試代碼: 於是 就有了 這樣的問題 (如下問題 僅作思考): > 最開始, 項目是 國內項目 —— 從不考慮時區, 統一用的 +8時間, 存入資料庫的 也是 +8時間. > ...
  • 在一些比較重要的業務系統中,通常會要求系統跟蹤數據記錄的變動情況。系統要記錄什麼時間,什麼人,對那些信息進行了變動。 比較簡單的實現方式是在每個表中加入兩個欄位CreatedBy和CreatedAt,見圖1。CreatedBy用來存是誰進行了這次更改。CreatedAt用來存什麼時間進行了這次更改。 ...
  • 一、要求 二、思路 1.購物類buy 接收 信用卡類 的信用卡可用可用餘額, 返回消費金額 2.信用卡(ATM)類 接收上次操作後,信用卡可用餘額,總欠款,剩餘欠款,存款 其中: 1.每種交易類型不單獨處理金錢,也不單獨記錄流水賬,每種交易類型調用處理金錢的函數(傳入交易類型,交易金額) 2.處理金 ...
  • 今天用Python提取了Linux內核源代碼的目錄樹結構,沒有怎麼寫過腳本程式,我居然折騰了2個小時,先是如何枚舉出給定目錄下的所有文件和文件夾,os.walk可以實現列舉,但是os.walk是只給出目錄名和文件名,而沒有絕對路徑。使用os.path.listdir可以達到這個目的,然後是創建目錄, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...