欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

CodeIgniter控制器中業(yè)務邏輯的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)CodeIgniter控制器中業(yè)務邏輯的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比雄縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式雄縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋雄縣地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

先說下對CI中幾個文件夾的理解

helpers、libraries: 存放一系列輔助函數(shù)、輔助類,用來輔助控制器、業(yè)務邏輯實現(xiàn)功能。他們中的方法應當盡量避免與CI依賴,依賴越緊越難以復用。以郵件發(fā)送為例,發(fā)送郵件時很多參數(shù)是不變的,如編碼、協(xié)議、端口等,我們可能會在config下進行配置這些參數(shù),然后library封裝一個郵件發(fā)送的類,并在其中獲取CI實例后讀取這些參數(shù)。此時就出現(xiàn)了與CI實例的依賴,該類就只能在CI框架中使用,其他系統(tǒng)要用到,就只能重寫了,沒達到復用的目的。如果發(fā)送的類只是接收參數(shù),并封裝發(fā)送方法呢?所以說,盡可能的讓helpers、libraries變的簡單,職責變得單一。

controllers: 控制器目錄。控制器主要用來接管程序,起到連接的作用。通常情況下,我們會把業(yè)務邏輯寫在action中。但隨著業(yè)務變得復雜,action代碼將越來越臃腫,難以維護。

models: 模型目錄。CI的模型的主要職責就是和數(shù)據(jù)庫打交道,獲取數(shù)據(jù)。很多時候也會把業(yè)務邏輯放在模型中,但業(yè)務邏輯與模型實際上是兩種東西了。模型只是獲取數(shù)據(jù),業(yè)務邏輯可能是把這些數(shù)據(jù)根據(jù)業(yè)務需要進行組合,組合方式可能有很多種,放在模型中會讓模型難以維護且不利于復用。說個碰到的例子,對數(shù)據(jù)按一定條件做緩存,獲取數(shù)據(jù)和緩存結(jié)果兩個流程寫在同一個方法中,但同樣的數(shù)據(jù)需要做另一種形式的緩存時發(fā)現(xiàn),獲取數(shù)據(jù)的方法就沒法重用了。

third_party:第三方類庫目錄。拿到一個類庫后不要直接使用, 可以在library中進行一次封裝,讓其更適應于系統(tǒng),其他人使用起來難度也會降低。

可以發(fā)現(xiàn),每個文件夾都有自己的職責,每個模塊都有自己的家,都有自己的職能。那業(yè)務邏輯該怎么辦?

既然這樣, 我們也應該給業(yè)務邏輯安個家,建立一個的目錄用來存放業(yè)務邏輯,暫且命名為service??刂破髦饕撠熃邮諈?shù)并調(diào)用service,service來調(diào)用模型,各層各盡其責。

下面看看怎么實現(xiàn):

我們可以重寫MY_Load,增加service方法,直接通過

$this->load->service('user_service');

來調(diào)用。
但業(yè)務邏輯很多都需要獲取CI實例,這里可以參考模型的方法,core建立一個MY_Service,其他service均繼承該類,這樣子service里用法就跟控制器里一樣了。

class MY_Service
{
  public function __construct()
  {
    log_message('debug', "Service Class Initialized");
  }
  function __get($key)
  {
    $CI = & get_instance();
    return $CI->$key;
  }
}

其實主要思路還是需要有一層用來處理業(yè)務邏輯,java中都有這一層。隨著對CI的不斷熟悉,發(fā)覺這里需要這一層,達到解放控制器和模型的目的。和這種類似的做法還有很多,如果系統(tǒng)中有很多地方需要用到web service 或者說cache之類的,其實也可以按照上面的思路單獨放在一個文件夾中處理,方便管理。

感謝各位的閱讀!關(guān)于“CodeIgniter控制器中業(yè)務邏輯的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

文章名稱:CodeIgniter控制器中業(yè)務邏輯的示例分析-創(chuàng)新互聯(lián)
標題路徑:http://aaarwkj.com/article40/coepeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、建站公司、做網(wǎng)站、用戶體驗、云服務器、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
亚洲区一区二区三区亚洲| 国产精品欧美一区久久| 最近最新免费成人在线视频| 97视频高清在线观看| 中文字幕国产精品综合一区| 99在线精品热视频| 91九色视频免费观看| 亚洲一区二区三区伊人| 色婷婷激一区二区三区| 欧美激情三级一区二区| 亚州无吗一区二区三区| 91嫩草中文字幕在线| 亚洲精品国产精品乱码不| 国内精品老年人视频网站| 国产亚洲精品热视频在线观看| 欧美国产精品久久综合| 亚洲少妇精品视频在线| 97国产精品亚洲精品| 青春草草视频在线观看| 性色视频一区二区三区| 中文字幕中出亚洲精品| 人妻鲁丝一区二区三区| 男人天堂av东京热伊人| 欧美日韩午夜福利视频| 蜜桃av在线播放视频| 国产精品一区二区三区欧美| 一区二区日韩视频九一蜜桃| 在线国产视频一区二区三区| 欧美激情在线精品一区二区| 亚洲欧洲国产视频一区二区| 亚洲中文字幕av每天更新| 日韩高清中文字幕在线| 亚洲欧美国产精品久久久| 欧美黑人少妇高潮喷水| 日本免费播放一区二区视频 | 天天操夜夜操白天操晚上操 | 人妻勾引中文字幕在线视频| 亚洲国产精品一区二区av| 国产精品麻豆一区二区三区| 国产亚洲成人精品一区| 91福利免费在线看|