0

所以,codeigniter 有应用和系统。我想添加另一个名为“平台”的文件夹,它的目录结构与应用程序(控制器、视图和所有内容)相同。

我希望它如何工作是这样的: - 当您加载模型、视图、库、控制器等时,它应该首先检入应用程序(如果它不存在,它应该检入平台,如果它不存在它应该显示错误) - 我想在“平台”中制作一些基本模型和控制器,以及“应用程序”中的所有控制器和模型来继承它们 - 我想在“平台”中扩展基本核心和库类,如果需要它们将是在“应用程序”中扩展

我不知道代码点火器是否已经可以做到这一点,或者它是否需要一些东西来做到这一点。

基本上它类似于 cakephp 的插件(如果有人知道它们是如何工作的)。

问题:

我该怎么做以上?

4

2 回答 2

2

有一个“third_party”文件夹,您可以在其中添加一个“子应用程序”,如您所称的那样或一个Application "Package".

“应用程序包允许在单个目录中轻松分发完整的资源集,包括自己的库、模型、帮助程序、配置和语言文件。建议将这些包放在 application/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/');

我还没有测试它是否可以工作。但是你可以试试!

于 2012-02-10T16:29:41.677 回答
0

您必须对文件进行一些重新调整,但您可以创建两个带有单独应用程序文件的文件夹,然后使用 $application_folder 变量将两个单独的索引文件指向每个文件夹。

我从来没有真正尝试过这个,但它应该工作。确保您还更新了 $system_folder 变量。

更多在这里:

http://codeigniter.com/user_guide/general/managing_apps.html

于 2012-02-10T17:02:06.460 回答