【问题标题】:Code Igniter SubApplication代码点火器子应用程序
【发布时间】:2012-03-03 02:23:31
【问题描述】:

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

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

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

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

问题:

我该怎么做?

【问题讨论】:

  • 你的问题好像没有问题。
  • 我编辑了:我的问题是:我该怎么做。
  • 您可以有 2 个“应用程序”共享同一个系统文件夹,但它们彼此独立。要做你想做的事,你必须编辑system/core中的Loader.php

标签: codeigniter subapplication


【解决方案1】:

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

“应用程序包允许在单个目录中轻松分发完整的资源集,包括自己的库、模型、帮助程序、配置和语言文件。建议将这些包放在应用程序/第三方文件夹...”

来源: 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/');

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

【讨论】:

  • 这听起来太棒了,我怎么强调都不为过。明天试试看:D
【解决方案2】:

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

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

更多:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多