因此,codeigniter有了应用和系统。我想添加另一个名为"platform“的文件夹,它将具有与应用程序相同的目录结构(控制器、视图和所有内容)。
我希望它的工作方式是这样的:-当你加载一个模型、视图、库、控制器等时,它应该首先签入应用程序(如果它不在那里,它应该签入平台,如果它不在那里,它应该显示一个错误)-我想在“平台”中制作一些基本的模型和控制器,以及来自“应用程序”的所有控制器和模型来继承它们-我想在“平台”中扩展基本的核心和库类,如果需要,它们将在“应用程序”中扩展。
我不知道代码触发器是否已经可以做到这一点,或者它是否需要一些东西来做到这一点。
基本上,它有点像cakephp中的插件(如果有人知道它们是如何工作的)。
问题:
我该如何做以上的事情?
发布于 2012-02-11 00:29:42
有一个"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/');我还没有测试它是否可以工作。但是你可以试一下!
发布于 2012-02-11 01:02:06
您必须对文件进行一些重新整理,但是您可以创建两个包含单独应用程序文件的文件夹,然后使用$application_folder变量将两个单独的索引文件指向每个文件夹。
我从来没有真正尝试过,但它应该可以工作。确保您还更新了$system_folder变量。
更多信息请点击此处:
http://codeigniter.com/user_guide/general/managing_apps.html
https://stackoverflow.com/questions/9230785
复制相似问题