wx_jmMMr909 发表于 2017-12-27 17:45:31

基于 CI3.x框架的一个优化版本-CodeIgniter-3.xup

本帖最后由 wx_jmMMr909 于 2018-2-21 14:26 编辑

更新日志和新功能
0.源框架修改记录:
* index.php已经搬到了public目录。
* 修正php7+版本中无法正确记录session。
* 文件夹cache、errors、logs、session、static、temp、uploads已经搬到public目录。

1.全面支持composer。
默认引入了以下几个有用的扩展包:"electrolinux/phpquery": "^0.9.6",      //php爬虫工具
"predis/predis": "^1.1",      //redis操作库
"smarty/smarty": "^3.1",      //smarty模板
"khanamiryan/qrcode-detector-decoder": "^1.0",      //二维码解析
"sfnt/wechat-php-sdk": "^1.1",      //微信三方开发SDK
"phpoffice/phpexcel": "^1.8",      //excel表格工具
"kairos/phpqrcode": "^1.0"      //二维码生成
请移步到 https://packagist.org了解详情。

2.新增file_url方法:
这个方法的作用是引入外部样式主题文件,跟site_url()、base_url()一样你需要引入$this->load->helper('url'),你也可以在config.php中统一配置域名。

3.新增service层:service($model[, $name = ''[, $params = NULL]]);
$this->load->service('service');
$this->service->test();参数:
                $model (mixed) -- 你要引入的service类名。
                $name (string) -- service类别名。
                $params (string) -- 该service的构造函数参数。

现在你可以把你的业务逻辑丢进services文件夹了,避免产生臃肿的控制器。

4.解决controller、service、model命名冲突:
你可以在config文件中配置你的类名后缀://config.php
$config['controller_suffix'] = '_Controller';
$config['service_suffix'] = '_Service';
$config['model_suffix'] = '_Model';
然后在各类中类名加入以上后缀,注意类的文件命名不含以上后缀。

5.新增了Smarty_Controller与Ajax_Controller两个控制器类:
Smarty_Controller 为smarty模板使用基类,如果你的视图需要用到smarty,请配置config目录下smarty.php并在你的控制器里边继承Smarty_Controller。$this->smarty->assign('string',$string);
$this->smarty->display('index.html');Ajax_Controller 为ajax检测类,继承它可以判断是否为ajax请求,用于前后台数据交互接口。

项目在 https://github.com/bingoladen/CodeIgniter













页: [1]
查看完整版本: 基于 CI3.x框架的一个优化版本-CodeIgniter-3.xup