用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2845|回复: 1
收起左侧

[程序 App] 基于 CI3.x框架的一个优化版本-CodeIgniter-3.xup

  [复制链接]
发表于 2017-12-27 17:45:31 | 显示全部楼层 |阅读模式
本帖最后由 wx_jmMMr909 于 2018-2-21 14:26 编辑

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

1.全面支持composer。
默认引入了以下几个有用的扩展包:
  1. "electrolinux/phpquery": "^0.9.6",        //php爬虫工具
  2. "predis/predis": "^1.1",        //redis操作库
  3. "smarty/smarty": "^3.1",        //smarty模板
  4. "khanamiryan/qrcode-detector-decoder": "^1.0",        //二维码解析
  5. "sfnt/wechat-php-sdk": "^1.1",        //微信三方开发SDK
  6. "phpoffice/phpexcel": "^1.8",        //excel表格工具
  7. "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]]);
  1. $this->load->service('service');
  2. $this->service->test();
复制代码
参数:
                $model (mixed) -- 你要引入的service类名。
                $name (string) -- service类别名。
                $params (string) -- 该service的构造函数参数。

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

4.解决controller、service、model命名冲突:
你可以在config文件中配置你的类名后缀:
  1. //config.php
  2. $config['controller_suffix'] = '_Controller';
  3. $config['service_suffix'] = '_Service';
  4. $config['model_suffix'] = '_Model';
复制代码

然后在各类中类名加入以上后缀,注意类的文件命名不含以上后缀。

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

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













评分

参与人数 1威望 +2 收起 理由
haohailuo + 2 赞一个!

查看全部评分

本版积分规则