在控制器上下文之外获取CodeIgniter实例

时间:2015-06-27 05:24:18

标签: php codeigniter model-view-controller

我有两个应用程序在同一台服务器上运行,其中一个是CI。我需要一个不是CI的人来使用模型,库,助手等。所以我需要像get_instance()这样的东西,但我不在控制器的上下文中,我在CodeIgniter之外。

如何获取控制器的通用实例,或从其他应用程序实例化模型或导入帮助程序?

实施例: A和CI是应用程序,两者都在同一台服务器上运行

ROOT
  A
     script.php
  CI (it's a CodeIgniter project, with controllers, models etc)
  ...
     random_model.php
  ...
     random_helper.php

如何在A上使用script.php在CI上使用random_model.php?

1 个答案:

答案 0 :(得分:0)

很好的问题,但是我担心你不能这样做,即使我们假设你可以做到这一点,这会造成更多的伤害而不是好处,例如你调用一个使用会话库的自定义库,那么你的应用程序“A”将隐式使用该会话库,并且可能产生不可预测的后果,主要是“A”使用本机php会话。

这不仅适用于会话,也适用于其他配置设置(数据库,base_url,charset,...和其他设置),它会自动加载其他库,帮助程序,软件包......等等,如果您的自动加载。 php

更好的方法是在“codeigniter”项目下创建一个控制器,并像通常用其他控制器一样调用它。

甚至更好,创建第二个codeigniter项目,因为它占用的脚本非常小,用于脚本“A”并避免两个项目之间的所有冲突并获得更有条理的

我希望这是有道理的。