博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一步一步重写 CodeIgniter 框架 (12) —— 代码再重构,回归 CI
阅读量:6923 次
发布时间:2019-06-27

本文共 1038 字,大约阅读时间需要 3 分钟。

第一课中搭建的基本的 框架模型, 只有一个 index.php 作为执行文件,按这种方式最不稳定的因素就是路径的问题。

我们经常需要通过合适的参数,比如 load_class('output') 或 $this->load->libraray('email') 等函数就可以加载到相应的类,所以本课将回归到 CI 整个目录体系结构,以 system 和 application ,重新对代码进行组织。

 

1. 对 index.php 进行重新组织,定义基本的常量,并分离出核心的 CodeIgniter 类

注意,我们只是对当前代码按照 CI 的组织结构进行重构,在 index.php 文件中进行 route 和 config 的设置将在以后课程中完善。

 

2.  将 core 代码移动到 system 文件夹中

  所有 core 代码 include 时必须加上 BASEPATH

3. 将 models, views, controllers 文件夹移动到 application 目录下,将 routes.php 移动到 application/config 目录下

  修改 Loader.php 中构造函数中路径的设置,以及 Router 函数中 include routes.php 的路径,分别如下

function __construct() {        $this->_ci_ob_level = ob_get_level();        $this->_ci_library_paths = array(APPPATH, BASEPATH);        $this->_ci_helper_paths = array(APPPATH, BASEPATH);        $this->_ci_model_paths = array(APPPATH);        $this->_ci_view_paths = array(APPPATH.'views/' => TRUE);}
if (is_file(APPPATH.'config/routes.php')) {            include(APPPATH.'config/routes.php');}

 

最后,整个目录体系将与 CI 完全一致,如下图所示:

转载于:https://www.cnblogs.com/zhenyu-whu/p/3286635.html

你可能感兴趣的文章
微信5.2
查看>>
【fedora】制作安装u盘
查看>>
10个好用的JQuery代码片段收集
查看>>
【cocos2d-x 手游研发小技巧(5)获取网络图片缓存并展示】
查看>>
2014第7周日最强大脑
查看>>
迷你MVVM框架 avalonjs 1.2发布
查看>>
C# and JSON
查看>>
shell和awk配合使用
查看>>
MVC应用程序实现上传文件(续)
查看>>
【Android】开源项目UniversalImageLoader及开源框架ImageLoader
查看>>
ubuntu修改主机名称
查看>>
在家学习 利器 记录每日点滴
查看>>
Revit API PickPoint过滤条件
查看>>
(转载)我们工作到底为了什么
查看>>
Partran,Nastran和ANSYS的区别
查看>>
SharePoint 2013常用开发工具分享
查看>>
NSIS:延时启动软件的几个方法及探索
查看>>
JavaScript学习总结(九)——Javascript面向(基于)对象编程
查看>>
[转]从数据到代码——基于T4的代码生成方式
查看>>
Linux ALSA声卡驱动之二:声卡的创建
查看>>