本文实例分析了CodeIgniter控制器之业务逻辑。分享给大家供大家参考,具体如下:
前面分析了公用控制器按模块分发,方便对特定模块的控制,而具体的实现类则是放在library中。那放在lib
本文来源gaodai.ma#com搞##代!^码@网*
搞gaodaima代码
rary中是否合适呢?以及控制器中更多的业务逻辑该放在哪里?
先说下对CI中几个文件夹的理解
代码如下:
$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框架的PHP程序设计有所帮助。