【问题标题】:CodeIgniter + Ion Auth: Ion Auth config file is loaded twiceCodeIgniter + Ion Auth:Ion Auth 配置文件被加载两次
【发布时间】:2016-11-28 18:29:52
【问题描述】:

解释:

将 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 安装中在多个应用程序之间共享配置文件和帮助程序的正确方法吗?

编辑:

我将 require_once 放入 admin/config/ion_auth.php 以包含 user/config/ion_auth.php 所以基本上我将该配置文件的内容放入此配置文件中“仅当 CodeIgniter 本身加载此配置文件时”。

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

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

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

    通过直接调用requirerequire_once,您将绕过 Codeigniter (CI),因此它无法知道您包含或未包含的内容。

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

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

    【讨论】:

    • 谢谢您,先生,但我将require_once 放入admin/config/ion_auth.php 以包含与user/config/ion_auth.php 完全相同的配置,所以基本上我只在CodeIgniter 本身时将该文件的内容放在这里已加载此配置文件。此外,即使我在没有任何修改的情况下放置了普通的 ion_auth 配置文件,它仍然会加载两次(我注意到在此配置文件中放置了一个简单的 echo 'loaded<br>';
    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 2018-05-16
    • 2013-02-11
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    相关资源
    最近更新 更多