国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

CodeIgniter控制器之業(yè)務(wù)邏輯實(shí)例分析

2024-05-04 23:42:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了CodeIgniter控制器之業(yè)務(wù)邏輯使用方法,結(jié)合實(shí)例形式分析了業(yè)務(wù)邏輯所涉及的相關(guān)概念與具體使用方法,需要的朋友可以參考下
 

本文實(shí)例分析了CodeIgniter控制器之業(yè)務(wù)邏輯。分享給大家供大家參考,具體如下:

前面分析了公用控制器按模塊分發(fā),方便對(duì)特定模塊的控制,而具體的實(shí)現(xiàn)類(lèi)則是放在library中。那放在library中是否合適呢?以及控制器中更多的業(yè)務(wù)邏輯該放在哪里?

先說(shuō)下對(duì)CI中幾個(gè)文件夾的理解

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

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

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

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

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

既然這樣, 我們也應(yīng)該給業(yè)務(wù)邏輯安個(gè)家,建立一個(gè)唯一的目錄用來(lái)存放業(yè)務(wù)邏輯,暫且命名為service。控制器主要負(fù)責(zé)接收參數(shù)并調(diào)用service,service來(lái)調(diào)用模型,各層各盡其責(zé)。

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

我們可以重寫(xiě)MY_Load,增加service方法,直接通過(guò)

復(fù)制代碼代碼如下:
$this->load->service('user_service');
來(lái)調(diào)用。
但業(yè)務(wù)邏輯很多都需要獲取CI實(shí)例,這里可以參考模型的方法,core建立一個(gè)MY_Service,其他service均繼承該類(lèi),這樣子service里用法就跟控制器里一樣了。

 

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

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

更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《codeigniter入門(mén)教程》和《CI(CodeIgniter)框架進(jìn)階教程

希望本文所述對(duì)大家基于CodeIgniter框架的PHP程序設(shè)計(jì)有所幫助。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
中文字幕av在线| 日本天堂影院在线视频| 亚洲成av人影片在线观看 | 91在线最新| √8天堂资源地址中文在线| 国产一级二级三级在线观看| 国产午夜视频| 精品欧美色视频网站在线观看| 国产精品伦理一区二区三区| 国产xxxxx| а√资源新版在线天堂| 国产麻豆一级片| 国产午夜电影| 一二三四区在线观看| jizz在线免费观看| 国产69精品久久app免费版 | 伊人网在线视频| 青青草视频免费在线观看| 成人精品福利| 在线视频婷婷| 九九热视频免费观看| 中文字幕不卡免费视频| 在线视频福利| 中文字幕不卡| 麻豆精品不卡国产免费看| 国产一级片在线播放| 在线视频xx| 国产鲁鲁视频在线观看特色| 精品电影在线| 丁香在线视频| 亚洲视频在线观看不卡| 国产视频精品久久| 免费看ww视频网站入口| 97视频在线| 最近中文字幕av免费高清 | 国产精品视频流白浆免费视频| 午夜在线视频| 国产偷激情在线| 黄色网址在线免费播放| 在线免费看av| 777电影在线观看| 五月婷婷视频在线观看| a视频免费看| av网址在线看| 在线视频中文字幕| 国产视频中文字幕在线观看| 中文字幕免费中文| 中文字幕高清av | 狂野欧美性猛交xxxx乱大交| 亚洲欧美国产另类首页| 在线看黄网址| 亚洲夜夜综合| 性网站在线播放| 在线三级av| 亚洲人成影院在线| www.eeuss影院| 久久综合精品视频| 狠狠操视频网| 国产视频你懂的| 国产经典自拍视频在线观看 | 丁香花高清在线观看完整版| 丁香在线视频| 另类专区欧美| 中文字幕中文字幕在线中高清免费版| 国产中文在线视频| 国产卡1卡2卡三卡在线| 69视频在线观看| free性亚洲| 国产一区二区三区不卡免费观看| 国产久草在线| aaa大片在线观看| 人日人天天爽| 国产香蕉视频在线观看| 精品国产一区二区三区不卡在线 | 国产剧情在线一区| 在线午夜视频| 超碰免费在线播放| 国产精品区一区二| 老师我好爽再深一点的视频| 国产小视频免费在线网址| 精品全国在线一区二区| 欧美性受xxxx免费视频| 国产三级在线播放| 人成在线免费视频| 国产一级黄色片免费| 四虎网站在线观看| 免费a在线观看| 国产精品美女视频免费观看软件 | 在线激情网站| 国产香蕉尹人视频在线| 青青久草在线| 亚洲欧洲成人| 精品欧美不卡一区二区在线观看| 国产中文在线| 在线天堂av| 国产欧美黑人| v天堂福利视频在线观看| 国产高清大尺度一区二区不卡| 久久精品国产亚洲a∨麻豆| 伊人福利在线| 在线观看av的网站| av一本在线| 色综合久久五月天| 亚洲第一区视频| 在线观看精品一区二区三区| 国产精品不卡一区二区三区在线观看| 天堂在线亚洲| 国产偷窥老熟盗摄视频| 国产精品久久久久永久免费看| 国产美女极品在线| 尤物视频在线观看| 二区中文字幕| 国产原创精品视频| 免费看ww视频网站入口| www.91av| 蜜桃av在线免费观看| 麻豆av在线| 天天操天天是| 18激情网站| 在线黄色.com| www.狠狠操| 国产一区二区影视| 精品国产丝袜高跟鞋| 日本视频二区| 午夜不卡视频| 99精品老司机免费视频| 在线视频观看你懂的| 伊人222成人综合网| www.99av| 国产三线在线| 四虎一区二区三区| 黄色免费av| 国产黄色在线| www在线视频观看| 国产麻豆视频网站| 精精国产xxxx视频在线中文版| 亚洲欧美精选| 国产一卡2卡3卡4卡网站免费| 国产wwww| 激情五月色综合亚洲小说| 国产成人福利| 四虎免费视频| 国产黄在线播放| 日本不卡视频一区二区| 日本最新在线视频| av在线不卡播放| 国产福利电影在线| 国产免费av在线| 亚洲精品国自产拍在线观看| 尤物在线网址| 久久国产热视频| 亚洲视频日韩| 69日小视频在线观看| 五月伊人六月| 黄色电影网站在线观看| 亚洲男人的天堂成人| 国产麻豆精品入口在线观看| av片在线观看| 亚洲免费网站在线观看| 国产黄在线看| 国产日产一区二区| 国产偷窥洗澡视频| 国产精品一二三区视频| 美女国产在线| 久久久久久五月天久久久久久久久| 2018中文字幕在线| 国产三级在线播放| 国产秀色在线www免费观看| 超碰在线影院| 国产中文在线视频| 99视频免费在线观看| 91超碰在线免费| 国产一二三四| 国产三级在线| 国产高清在线| 精品国语对白精品自拍视 | 黄色av电影在线播放| 激情综合丁香| 国产视频一二| 777电影在线观看| 亚洲图区综合| www.色五月| 国产小视频在线| 国产一卡2卡3卡免费网站| 最新中文字幕av专区| 国产精品入口麻豆完整版| 国产精品被窝福利一区| 精品欧美不卡一区二区在线观看 | 国产黄色av免费看| а√天堂8资源在线官网| 男人天堂亚洲| 国产精品入口免费麻豆| 91在线高清| 狠狠综合久久久综合| 国产久草在线| 在线免费看黄| 成人欧美精品久久久久影院| 国产精品免费91| 成年黄网站在线观看免费| 国产成人亚洲精品播放器下载|