日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
CI框架代碼體會(huì)

本文主要記錄一些自己在瀏覽CI代碼時(shí)候的一些體會(huì), 并不分析CI的使用。

扎囊網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

一 、 首先的一點(diǎn)就是, 已加載類在codeigniter, controller, model中的通用, 這使得CI的controller和model功能豐富。

體現(xiàn)在Controller中的構(gòu)造函數(shù)中:

foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class); //將加載過(guò)的載入
}

$this->load =& load_class(\'Loader\', \'core\');

$this->load->initialize(); // 加載autoload配置的庫(kù)類

體現(xiàn)在model中:

function __get($key)
{
$CI =& get_instance();
return $CI->$key;
}

方法中

通過(guò)這樣的操作, 是的CI的controller, model 功能豐富。

2、 CI允許擴(kuò)展核心系統(tǒng)類:

在/system/core/common 中:

load_class 中有如下幾行:

foreach (array(APPPATH, BASEPATH) as $path) { if (file_exists($path.$directory.\'/\'.$class.\'.php\')) { $name = $prefix.$class; if (class_exists($name) === FALSE) { require($path.$directory.\'/\'.$class.\'.php\'); } break; } } // Is the request a class extension? If so we load it too if (file_exists(APPPATH.$directory.\'/\'.config_item(\'subclass_prefix\').$class.\'.php\')) { $name = config_item(\'subclass_prefix\').$class; if (class_exists($name) === FALSE) { require(APPPATH.$directory.\'/\'.config_item(\'subclass_prefix\').$class.\'.php\'); } }

對(duì)于Controller的重寫體現(xiàn)在(system/core/codeingiter):

require BASEPATH.\'core/Controller.php\';

function &get_instance()
{
return CI_Controller::get_instance();
}

if (file_exists(APPPATH.\'core/\'.$CFG->config[\'subclass_prefix\'].\'Controller.php\'))
{
require APPPATH.\'core/\'.$CFG->config[\'subclass_prefix\'].\'Controller.php\';
}

這可以滿足自己的業(yè)務(wù)邏輯的修改, 例如可以在自己擴(kuò)展出來(lái)的controller中加一些權(quán)限控制的操作等等。

3、 Loader類也被controller加載了(依附在controller上的model也享受利益), 通過(guò)這個(gè)類,可以實(shí)現(xiàn)各種功能庫(kù)的加載

4、 可以掛載多個(gè)系統(tǒng)

根據(jù)業(yè)務(wù)需求可能需要開(kāi)發(fā)多個(gè)系統(tǒng), 可以在index.php , 根據(jù)業(yè)務(wù)類型, 修改index.php

$applocation_folder參數(shù)

例如: 可以在配置虛擬主機(jī)的時(shí)候, 設(shè)置service_name 等等 當(dāng)然這只是一種思路

(待續(xù))

對(duì)CI的common文件比較糾結(jié)的就是, 在整個(gè)框架代碼中, 突然出來(lái)一個(gè)這個(gè)理的方法還是有點(diǎn)讓人不知所措, 覺(jué)得應(yīng)該在方法的前面加上一個(gè)common_之類的標(biāo)記, 然后自己也可以在里面創(chuàng)建一個(gè)自己的同類文件, 在方法的前面標(biāo)記上my_,, 可能會(huì)更加清晰一些


分享名稱:CI框架代碼體會(huì)
分享路徑:http://www.dlmjj.cn/article/choeog.html