CodeIgniter + Ion Auth:Ion Auth配置文件加载两次

时间:2016-11-28 18:29:52

标签: php codeigniter

说明:

将CodeIgniter v3.1.2与Ion Auth 2一起使用

我将管理区域和用户区域分成2个不同的应用程序以提高安全性。

我想在两个应用之间共享配置文件,所以对于application_admin / config / ion_auth.php我这样做了:

require_once(__DIR__.'/../../application_users/config/ion_auth.php');

脚本停止工作,几个小时后我意识到文件被加载了两次,因为当我使用require代替require_once时,一切正常。

问题:

  1. 不应该CodeIgniter检查并阻止加载已加载两次的文件?如果是,那么为什么会发生这种情况,如果不是,我可以使用require而不是require_once吗?

  2. 我的方法是在单个CI安装中在多个应用程序之间共享配置文件和帮助程序的正确方法吗?

  3. 编辑:

    我将require_once放在admin/config/ion_auth.php中以包含user/config/ion_auth.php所以基本上我将该配置文件的内容放在此配置文件中#34;仅当CodeIgniter本身加载此配置时文件&#34 ;.

    即使我把普通的ion_auth配置文件没有任何require / include等,它仍然被加载两次(我注意到在配置文件的末尾放了一个简单的echo 'loaded<br>';。)

1 个答案:

答案 0 :(得分:0)

  

不应该CodeIgniter检查并阻止加载已经存在的文件   装了两次?如果是,那么为什么会发生这种情况,如果不是,那就好了

通过直接呼叫requirerequire_once,您绕过了Codeigniter(CI),因此无法知道您拥有或未包含的内容。

  

如果我只使用require而不是require_once?我接近了吗?   在多个之间共享配置文件和帮助程序的正确方法   单个CI安装中的应用程序?

使用Config class在CI中加载配置文件。如果您深入了解Ion Auth的源代码并查看__construct中的Ion-auth_model.php,您会发现大量使用config类来读取配置文件并访问各种配置项。这是&#34; CI方式的一个很好的例子&#34;处理配置。