1

起初这听起来可能有点“外面”。基本上,我正在 CodeIgniter 中构建一个小型后端,我希望将来能够轻松地将其推广到多个项目中。目前它是控制器、助手、扩展核心类、视图和资产文件夹的集合。如果我想让重新分发变得容易,那么我想尝试减少单个文件的数量。

视图、控制器和模型显然最好作为单独的文件保留。
但是我也用我自己的扩展了很多 CI 的核心类:CI_Controller、CI_Form_validation 和 CI_Input。可能还有更多后续。

有没有办法可以将这三个组合成一个文件?
显然,在 application/core 目录中没有它们会破坏 MY_ 前缀自动加载。如果我也可以将我的自定义帮助函数存储在同一个文件中,那也很棒。这使我能够以传统的 MY_ 前缀格式在 application/core 中保留任何特定于应用程序的核心类,同时能够轻松地对我的核心类进行更新。

我目前在 config.php 中使用 Phil 改进的本机自动加载器(请参见此处... http://ellislab.com/codeigniter/forums/viewthread/218099/#1006583)加载我的扩展核心类而不使用 MY_ 前缀所以我可以给他们更容易识别和合乎逻辑的名称,以便于重新分配。
这向我表明,config.php在启动时处理得足够早,我可能只能做一个厚脸皮的require('AdminCoreClasses.php').
因为这基本上是本机自动加载器所做的,但会查看当前类名以指定要加载的文件。我只是硬编码一个文件,其中包含我所有的扩展核心类。

有一个更好的方法吗?

4

1 回答 1

0

目前,一旦我完成了任何更改,我就已经将我的“模块”压缩了。我不包括 CI 系统。
因此,从 zip 中提取确实会将所有内容转储到正确的子目录中。
我也想保持核心文件不变,以便于升级。实际上,我修改后的类有不同的名称,所以我不使用 MY_ 前缀。这允许我将 MY_ 前缀用于与我的后端模块无关的其他修改类,并且基于特定于应用程序。

我现在在想,我会忘记这一点,继续我目前正在做的事情。我不想搞乱 CI 的结构方式,因为我的主要目标是让框架升级变得容易。

于 2012-10-16T21:26:50.930 回答