因此,codeigniter有应用程序和系统。我想添加另一个名为“platform”的文件夹,它将具有与应用程序(控制器,视图和所有内容)相同的目录结构。
我希望它如何工作是这样的: - 当您加载模型,视图,库,控制器等时,它应首先签入应用程序(如果它不在那里,它应该检查平台,如果不在那里它应该显示错误) - 我想在“平台”中制作一些基本模型和控制器,并从“应用程序”中创建所有控制器和模型以继承它们 - 我想在“平台”中扩展基本的核心和库类,如果需要,它们将在“应用程序”中扩展
我不知道代码点火器是否已经可以做到这一点,或者它是否需要做某些事情。
基本上它就像cakephp中的插件(如果有人知道它们是如何工作的那样)。
问题:
我该如何做?
答案 0 :(得分:2)
在“third_party”文件夹中,您可以在调用时添加“子应用程序”或Application "Package"
。
“应用程序包允许在单个目录中轻松分发完整的资源集,包括自己的库,模型,帮助程序,配置和语言文件。建议将这些程序包放在应用程序中/ third_party文件夹......“
来源: http://codeigniter.com/user_guide/libraries/loader.html (它几乎位于文档的底部。)
这是在应用程序文件夹中完成的。 可能有一种方法可以达到你想要的效果,并通过这样做将你的文件夹放在应用程序之外:
$this->load->add_package_path(PATH_OUTSIDE_APPLICATIONS.'/my_package/');
而不是:
$this->load->add_package_path(APPPATH.'third_party/my_package/');
我还没有测试它是否可行。但你可以尝试一下!
答案 1 :(得分:0)
您必须对文件进行一些重新调整,但是您可以使用单独的应用程序文件创建两个文件夹,然后使用$ application_folder变量将两个单独的索引文件指向每个文件夹。
我从来没有真正试过这个,但它应该有效。确保您还更新了$ system_folder var。
更多信息:
http://codeigniter.com/user_guide/general/managing_apps.html