CodeIgniter将几个扩展类和助手组合成单个文件以便于分发?

时间:2012-10-14 23:33:25

标签: php codeigniter

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

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

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

我目前在config.php中使用Phil改进的Native Autoloader(请参阅此处http://ellislab.com/codeigniter/forums/viewthread/218099/#1006583)来加载我的扩展核心类而不使用MY_前缀,因此我可以为它们提供更多可识别和逻辑的名称更容易再分配 这告诉我config.php在启动时得到了足够早的处理,以至于我可以做一个厚颜无耻的require('AdminCoreClasses.php')。 因为这基本上是原生自动加载器的作用,但是查看当前的类名以指定要加载的文件。我只是硬编码一个文件,其中包含我所有的扩展核心类。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

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

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