花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊 退出 找回密碼

織夢無憂教你如何使用織夢dedecms小助手

時間: 2018-12-06 11:51 閱讀: 作者:素材無憂網(wǎng)

很多的時候,織夢dedecms是不能滿足我們要求的,比如我們要增加個織夢dedecms 沒有功能,例如,我們要調(diào)用分類信息三級聯(lián)動里面的內(nèi)容,以前我們要寫個函數(shù)放在/include/extend.func.php里面,然后,在我們的首頁,或其它而面引入comm.inc.php文件,即可調(diào)用這個函數(shù),功能就這樣實現(xiàn)了,只要會php編程什么功能都可以在織夢的基礎(chǔ)上擴展。

  現(xiàn)在不僅僅有這個extend.func.php文件了,織夢幫我們提供了一個叫小助手的功能,從字面意思理解,小助手就是幫助我們的人助手,沒有錯,在include/helpers里面有很多的小助手文件,只要我們的以后擴展功能直接在這里建立一個文件命名為:起的名字.helper.php,然后再在要調(diào)用的文件里用helper('起的名字')進行初始化,即可調(diào)用起的名字.helper.php這個文件里面的功能了。

一、織夢小助手的應用。

  舉例說明:計算二個數(shù)的值。

  定義php文件名:sum.helper.php,然后在這個文件里寫上如下計算二個數(shù)的代碼。

<?php

  $a=10;
  $b=33;

  function sum($a,$b){
  return $a+$b;
}

?>

  如果我們要在某個文件例如文件test.php里調(diào)用這個功能,我們只需要在這個test.php文件里,用helper('sum')進行初始化一下,即可調(diào)用。

  test.php文件內(nèi)容如下:

require_once(dirname(__FILE__)."/include/common.inc.php");
helper('sum');
echo sum(32,34);

  輸入結(jié)果是:66。請注意,無論是用織夢小助手,還是用extend.func.php進行二次開發(fā),都要引入文件common.inc.php文件。織夢小助手的應用就是這樣簡單。

  對比一下用織夢小助手和extend.func.php進行二次開發(fā)的好處。

  如果我們在extend.func.php這個里面進行功能二次開發(fā)的話,如果是小的功能還好,如果是代碼特別多,那么,用這個就有缺點了,想一下如果這個文件太多,不僅對于程序員來說感覺亂,在調(diào)用功能的時候不容易找,而且這樣也降低了執(zhí)行效率,本來一個程序員寫好的功能,結(jié)果另一個程序員來調(diào)用那么,找起來就非常不便,浪費時間。

  而用小助手,而大大提高了效率,不管有多少個人來寫,不管什么樣的誰來調(diào)用,只要找到對應的文件名,就可以調(diào)用,而且,每個功能對應一個文件,這樣也不至于弄錯,而且調(diào)用也非常方便,只需要初始化一下小助手即可。

二、小助手的實現(xiàn)代碼分析。

  織夢小助手既然如此好,我們要研究一下,這個小助手是如何實現(xiàn)的?以后,我們在自己開發(fā)中也可以把這種思想用到我們的開發(fā)中,提高效率。我們來分析一下小助手是如何實現(xiàn)這樣的功能的。

  首頁要在入口文件common.inc.php里面進行初始化(這里的初始化與上面的提到的helper('sum')初始化不一樣,這里指的是引入helper.inc.php并根據(jù)里面的數(shù)組創(chuàng)建程序文件)織夢小助手,若文件helper.inc.php存在,則把里面的數(shù)組$cfg_helper_autoload,通過helper($cfg_helper_autoload)初始化(這里跟上面提到的初始化一樣),若沒有這個文件,而用默認的。

  代碼如下:

最模板教你如何使用織夢dedecms小助手
  小助手是如何初始化的?這是重點。小助手正是通過文件common.fuc.php里面下面這段代碼,實現(xiàn)了我們上面舉的例子功能。

最模板教你如何使用織夢dedecms小助手

  我們分析一下上面的代碼,

  第一句代碼$_helpers = array();這句用來設(shè)置一種狀態(tài),在php里面經(jīng)常用到,常常是true和fault就像電源開關(guān)似的,當程序中某個功能執(zhí)行成功就設(shè)置成true,當某個功能沒有執(zhí)行或某個文件不存在等都可設(shè)置成fault這樣就可以在true或fault時執(zhí)行不同的功能了,程序中經(jīng)常用到非常方便。

  接下來就開始判斷,我們傳的$helpers是不是數(shù)組,例如我們一次開發(fā)了多個功能,建立了多個類似: 名字.helper.php的多個文件,在調(diào)用初始化helper(數(shù)組)時,就需要傳數(shù)組,程序會判斷如果傳的是數(shù)據(jù),那么進行遞歸調(diào)用,當?shù)谝粋€文件假設(shè)名為abc.helper.php,當foreach完第一個后,進入到遞歸,再判斷一下$dede的值abc是不是數(shù)組不是則向下執(zhí)行代碼。

     if (isset($_helpers[$helpers]))
    {
        continue;
    }

  這段代碼判斷一下這個文件abc.helper.php,是不是存在并引入了?若已經(jīng)有了了也引入了,那么,回到foreach里面繼續(xù)遍歷,否則接著向下執(zhí)行,判斷一下abc.helper.php文件是不是存在,若存在,則引入abc.helper.php文件。并把狀態(tài)$_helpers[$helpers]設(shè)置為真,表明這個文件$_helpers[$helpers]已經(jīng)引入了,最后一句判斷$_helpers[$helpers]若沒有設(shè)置,則打印出文件abc.helper.php無法裝載。

  請注意:此時程序并沒有完成,只是把數(shù)組$helpers里面進行了第一個遞歸,接著繼續(xù)foreach,接下來程序執(zhí)行的動作就跟上面的分析的一樣了。這樣通過一個遞歸,就可以把數(shù)組里面的代表文件名的鍵全部循環(huán)出來,并把對應的文件明引入到要調(diào)用的文件里了。

  當我們在要調(diào)用的文件里面用helper($helper)初始化后,就開始運行上面的代碼了。作為一個程序員,既要知道是什么,還要知道為什么,本篇內(nèi)容由織夢DEDECMS基地作的分析,拋磚引玉,共同進步。

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!

轉(zhuǎn)載請注明: 織夢無憂教你如何使用織夢dedecms小助手

標簽:  
相關(guān)文章
模板推薦