亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

CodeIgniter控制器之業務邏輯實例分析

2024-05-04 23:42:23
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了CodeIgniter控制器之業務邏輯使用方法,結合實例形式分析了業務邏輯所涉及的相關概念與具體使用方法,需要的朋友可以參考下
 

本文實例分析了CodeIgniter控制器之業務邏輯。分享給大家供大家參考,具體如下:

前面分析了公用控制器按模塊分發,方便對特定模塊的控制,而具體的實現類則是放在library中。那放在library中是否合適呢?以及控制器中更多的業務邏輯該放在哪里?

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

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

controllers: 控制器目錄??刂破髦饕脕斫庸艹绦?,起到連接的作用。通常情況下,我們會把業務邏輯寫在action中。但隨著業務變得復雜,action代碼將越來越臃腫,難以維護。

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

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

可以發現,每個文件夾都有自己的職責,每個模塊都有自己的家,都有自己的職能。那業務邏輯該怎么辦?

既然這樣, 我們也應該給業務邏輯安個家,建立一個唯一的目錄用來存放業務邏輯,暫且命名為service??刂破髦饕撠熃邮諈挡⒄{用service,service來調用模型,各層各盡其責。

下面看看怎么實現:

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

復制代碼代碼如下:
$this->load->service('user_service');
來調用。
但業務邏輯很多都需要獲取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;  }}

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

更多關于CodeIgniter相關內容感興趣的讀者可查看本站專題:《codeigniter入門教程》和《CI(CodeIgniter)框架進階教程

希望本文所述對大家基于CodeIgniter框架的PHP程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕一区日韩电影| 欧美日韩福利在线观看| 日韩精品在线观看一区| 亚洲成人aaa| 欧美精品videos另类日本| 日韩欧美在线看| 日韩av一卡二卡| 91高清免费视频| 国产精品高清网站| 欧美激情一区二区三区高清视频| 精品性高朝久久久久久久| 亚洲国产精品久久久久久| 久久久久国产一区二区三区| 欧美激情精品久久久久久| 91经典在线视频| 久久综合亚洲社区| 亚洲一区亚洲二区| 91精品国产九九九久久久亚洲| 成人精品久久久| 国内精品久久久久| 91视频免费网站| 欧美风情在线观看| 国内成人精品视频| 亚洲一区二区三区视频播放| 欧美在线视频网| 91在线视频免费| 成人写真视频福利网| 亚洲电影免费观看高清完整版在线| 国产裸体写真av一区二区| 亚洲自拍偷拍网址| 91影视免费在线观看| 国产999精品视频| 国产成人在线视频| 欧美午夜精品在线| 亚洲在线www| 亚洲娇小xxxx欧美娇小| 久久国产天堂福利天堂| 精品动漫一区二区三区| 日韩欧美在线观看| 欧美裸体xxxx极品少妇软件| 色香阁99久久精品久久久| 中文日韩电影网站| 日日骚久久av| 国产精品综合久久久| 韩国三级日本三级少妇99| 国产精品久久久久久久久久ktv| 在线看片第一页欧美| 久久久97精品| 日韩在线精品视频| 91国内免费在线视频| 国产一区二区在线免费| 亚洲跨种族黑人xxx| 日韩精品高清视频| 欧美激情精品在线| 亚洲最大福利视频网站| 成人av电影天堂| 日韩精品在线观看视频| 国产精品高清免费在线观看| 亚洲精品资源美女情侣酒店| 裸体女人亚洲精品一区| 91高清免费视频| 日韩精品免费电影| 国产不卡精品视男人的天堂| 欧美麻豆久久久久久中文| 8050国产精品久久久久久| 国产精品久久久久久久久久尿| 17婷婷久久www| 欧美性生交大片免网| 国产精品第二页| 欧美激情视频网站| 欧美伦理91i| 亚洲www在线| 精品日韩视频在线观看| 久久成年人视频| 亚洲aa中文字幕| 久久久久久国产精品美女| 亚洲欧美在线看| 91精品国产综合久久久久久久久| 在线电影欧美日韩一区二区私密| 日韩电视剧在线观看免费网站| 亚洲天堂av图片| 日韩av一区在线| 中文字幕亚洲第一| 亲子乱一区二区三区电影| 欧美日韩国产麻豆| 亚洲一区二区黄| 国产日韩欧美在线观看| 这里只有精品丝袜| 国产婷婷97碰碰久久人人蜜臀| 日本精品久久久久久久| 欧洲午夜精品久久久| 日韩有码在线电影| 国产午夜精品久久久| 美女黄色丝袜一区| 亚洲iv一区二区三区| 国产精品中文字幕在线观看| 欧美午夜精品久久久久久人妖| 午夜精品www| 欧美日韩高清在线观看| 久久视频免费在线播放| 日韩av影视在线| 88xx成人精品| 国产精品一区久久久| 亚洲成人xxx| 国产精品吊钟奶在线| 97视频免费观看| 亚洲精品99久久久久中文字幕| 亚洲国产精品久久精品怡红院| 色黄久久久久久| 日韩av在线网址| 久久人人爽人人爽人人片av高请| 欧美精品videossex性护士| 美女av一区二区三区| 日韩在线免费观看视频| 亚洲视屏在线播放| 日韩中文在线不卡| 九九热精品在线| 亚洲bt天天射| 国产精品视频网址| 久久久久99精品久久久久| 精品久久久久久久久久| 日韩视频免费在线观看| 伊人久久久久久久久久| 亚洲一区二区黄| 26uuu亚洲国产精品| 国产成人欧美在线观看| 成人97在线观看视频| 日韩国产欧美精品在线| 日韩精品一二三四区| 欧美成人精品一区二区| 一区二区三区美女xx视频| 亚洲精品视频免费在线观看| 久久精品亚洲热| 国产精品美乳在线观看| 91九色国产社区在线观看| 亚洲第一福利在线观看| 国产精品99久久99久久久二8| 久久国产精品久久国产精品| 亚洲国产高潮在线观看| 午夜精品久久久久久久久久久久久| www.亚洲男人天堂| 亚洲精品电影久久久| 色婷婷综合久久久久| 777777777亚洲妇女| 精品人伦一区二区三区蜜桃免费| 久久精品人人做人人爽| 亚洲福利小视频| 日韩电视剧在线观看免费网站| 欧美亚洲在线观看| 欧美成人免费观看| 欧美一级淫片丝袜脚交| 国产精品亚洲网站| 国产99久久精品一区二区| 国内伊人久久久久久网站视频| 欧美一级淫片丝袜脚交| 国产精品一区二区久久久久| 亚洲国产高潮在线观看| 亚洲一区二区日本| 午夜精品久久久久久久久久久久久| 国外色69视频在线观看| 国产中文字幕亚洲| 97视频在线观看播放| 亚洲精品www久久久久久广东| 欧美激情一级二级|