麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > iOS > 正文

CodeIgniter輔助函數(shù)helper詳解

2020-07-26 03:36:58
字體:
供稿:網(wǎng)友

1.輔助函數(shù)概述

helper輔助函數(shù),顧名思義,就是幫助我們完成各種特定任務(wù)的一系列函數(shù)。并且每個(gè)輔助函數(shù)文件是一系列的功能集合匯總在一起。比如可以幫助我們創(chuàng)建鏈接的URL Helpers,有創(chuàng)建表的Form Helpers,有文本格式化輸出的Text Helpers,有設(shè)置和讀取cookie的Cookie Helpers,還有文件File Helpers等等。

不同于大多數(shù)其他系統(tǒng)的是,CodeIgniter的輔助函數(shù)沒有采用類的方式實(shí)現(xiàn)。而是簡(jiǎn)單的,程序的功能。每個(gè)輔助函數(shù)處理一個(gè)特定的任務(wù),并且不必依靠其他函數(shù)。

CodeIgniter默認(rèn)是沒有載入輔助函數(shù)文件的,所以如果你想用輔助函數(shù),就必須先載入它。 一旦被載入,輔助函數(shù)將全局可用(globally available),你可以在 controller 和 views 中使用它們。

輔助函數(shù)文件一般保存在 system/helpers 或 application/helpers 文件夾中。CodeIgniter 將會(huì)先在 application/helpers 尋找對(duì)應(yīng)的輔助函數(shù)文件, 如果目錄不存在或者目錄下沒有對(duì)應(yīng)的輔助函數(shù)文件,CI 才會(huì)載入 system/helpers 下的輔助函數(shù)文件。

2.載入輔助函數(shù)

載入輔助函數(shù)是非常簡(jiǎn)單的,如下所示:

$this->load->helper('name');

其中name是輔助函數(shù)文件的名字(不帶.php后綴 和"helper" 部分)。

例如,要載入文件名為url_helper.php的URL Helper,可采用下面的語句:

$this->load->helper('url');

輔助函數(shù)可以在你的控制器(controller)的任何地方被載入,甚至可以在視圖(View)文件中被載入(我們并不建議你這么做)。 請(qǐng)?jiān)谑褂幂o助函數(shù)之前載入他們。你可以在你的控制器構(gòu)造函數(shù)中載入它們,以便輔助函數(shù)能自動(dòng)在其他函數(shù)之前被載入。你也可以在要用到輔助函數(shù)的地方當(dāng)場(chǎng)載入。

注意: 輔助函數(shù)載入函數(shù)并不返回值,所以不要嘗試將它付給一個(gè)變量,直接像這樣用就可以了。

3.載入多個(gè)輔助函數(shù)

如果你想一次載入多個(gè)輔助函數(shù),你可以這樣做:

$this->load->helper( array('helper1', 'helper2', 'helper3') );

4.自動(dòng)載入輔助函數(shù)

如果你想要的話,CodeIgniter可以自動(dòng)為你載入輔助函數(shù)。你可以通過打開 application/config/autoload.php ,并往自動(dòng)載入數(shù)組(autoload array)中增加輔助函數(shù)來實(shí)現(xiàn)。

5.使用輔助函數(shù)

一旦你載入了想要用到輔助函數(shù)文件,你就可以用標(biāo)準(zhǔn)的函數(shù)調(diào)用方法來使用里面的函數(shù)。

例如,要使用anchor() 函數(shù)來建立一個(gè)鏈接,在視圖(View)文件里面你可以這樣做:

<?php echo anchor('blog/comments', 'Click Here');?>

這里的"Click Here" 是鏈接的名字,"blog/comments" 是鏈接的URI。

注意:輔助函數(shù)中的函數(shù)名最好做好命名規(guī)范,如果同時(shí)加載多個(gè)輔助函數(shù)文件,且其中有名稱相同的函數(shù),會(huì)導(dǎo)致 CI 出現(xiàn)空白頁問題(這也是 PHP 語法錯(cuò)誤)。

6.“擴(kuò)展”輔助函數(shù)

你如果想 "擴(kuò)展"一個(gè)原有的 Helpers,可以在你的 application/helpers/ 目錄下創(chuàng)建一個(gè)新的helper,新的helper的名字是在被“擴(kuò)展”的Helper的名字開頭多加一個(gè) MY_ (這是可以配置的. 見下.).

如果你想做的只是在原有的helper中添加一些新的功能,比如,添加一兩個(gè)新的方法,或者是修改一個(gè)方法;就不值得重寫自己的helper。在這種情況下,最好是“擴(kuò)展”已有的helper。“擴(kuò)展”一詞用在這里不是很恰當(dāng),因?yàn)镠elper的方法是過程式的(procedural) 和離散(discrete)的,在傳統(tǒng)的語言環(huán)境中無法被“擴(kuò)展”,不過在CodeIgniter中,你可以添加或修改helper的方法。

例如,擴(kuò)展一個(gè)本地已有的 Array Helper 你應(yīng)該建立一個(gè)文件: application/helpers/MY_array_helper.php, 并添加或重寫(override)其中的一些方法:

// any_in_array() is not in the Array Helper, so it defines a new functionfunction any_in_array($needle, $haystack){  $needle = (is_array($needle)) ? $needle : array($needle);  foreach ($needle as $item)  {    if (in_array($item, $haystack))    {      return TRUE;    }    }  return FALSE;}// random_element() is included in Array Helper, so it overrides the native functionfunction random_element($array){  shuffle($array);  return array_pop($array);}

7.設(shè)定你自己的前綴(Prefix)

用于"擴(kuò)展" helper 而加上前綴的文件同樣也是對(duì)庫(kù)和核心類的擴(kuò)展.為了設(shè)置你自定義的前綴,請(qǐng)打開 application/config/config.php 文件,然后找到如下的條目:

$config['subclass_prefix'] = 'MY_';

這里需要注意:由于所有CodeIgniter自帶的庫(kù)都被冠以 CI_ 這樣的前綴命名,所以請(qǐng)不要使用CI_來自定義前綴.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久啪视频 | 国产四区 | av在线直播观看 | 免费人成在线播放 | 久久精品23| 一级毛片免费高清 | 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 国产一级桃视频播放 | 精品无码久久久久久国产 | 成人短视频在线播放 | 欧洲成人一区二区 | 欧美久久久久久久久 | 国产一区二区不卡视频 | 精品国产一区二区三区在线观看 | 天天躁狠狠躁夜躁2020挡不住 | 日本在线播放一区二区三区 | 久久国产免费视频 | 成人免费一区二区三区在线观看 | 国产精品成人亚洲一区二区 | 精品国产呦系列在线看 | 国产成人av免费看 | 538任你躁在线精品视频网站 | 91精品国产综合久久久动漫日韩 | 性少妇chinesevideo | 日本欧美一区二区三区视频麻豆 | 一区二区三区精品国产 | 色吧综合网 | 国产在线精品一区二区三区不卡 | 亚洲小视频在线 | 欧美 日韩 中文 | 强伦女教师视频 | 免费毛片随便看 | 国产91在线亚洲 | 欧美高清第一页 | 国产精品资源手机在线播放 | 精品国产1区2区3区 免费国产 | 日韩视频1| 成人在线观看一区 | 国产精品99久久久久久久 | 久久久久久久久久久久久久久伊免 | 国产午夜精品一区二区三区四区 |