如何查看CI3是否加载了默认配置?
How to check if the default configuration has been loaded in CI3?
我正在为要在 CI3.1 (CodeIgniter 3.1) 中使用的项目开发自定义库。这是一段代码:
class NavigationMenu
{
protected $CI;
public function __construct($params = ['config' => 'navigation'])
{
$this->CI =& get_instance();
$this->CI->load->helper('url');
$this->CI->config->load($params['config'], true);
$this->CI->load->model('nav_model', 'nav');
}
....
}
默认配置“navigation.php”文件具有以下代码:
$config['navigation_open'] = '<ul class="nav">';
$config['navigation_close'] = '</ul>';
$config['item_open'] = '<li>';
$config['item_open_active_class'] = 'active';
如您所见,我正在加载 url
帮助程序、navigation
配置文件和 nav_model
模型。有没有办法检查它们之前是否已加载?可能是我想节省时间然后按如下方式设置 autoload.php
的情况:
$autoload['helper'] = ['url'];
$autoload['config'] = ['navigation'];
$autoload['model'] = ['nav_model'];
如果是这样,我该如何检查是否已加载以便不再尝试加载?
我查看了 config class 的文档,但找不到任何有用的东西
您可以检查 url
助手中的任何功能目前是否可用,因此您将能够了解是否加载了助手,或者您应该自己完成:
if(!function_exists('site_url'))
$this->CI->load->helper('url');
如果您需要检查是否加载了任何帮助程序,这是一个简单的技巧,但不太清楚如何检查 config/model 是否已加载,所以如果您真的想创建自己的自动加载器,您需要对核心对象进行类似的检查($this->CI
):
if(!method_exists($this->CI,'nav'))
$this->CI->load->model('nav_model', 'nav');
我正在为要在 CI3.1 (CodeIgniter 3.1) 中使用的项目开发自定义库。这是一段代码:
class NavigationMenu
{
protected $CI;
public function __construct($params = ['config' => 'navigation'])
{
$this->CI =& get_instance();
$this->CI->load->helper('url');
$this->CI->config->load($params['config'], true);
$this->CI->load->model('nav_model', 'nav');
}
....
}
默认配置“navigation.php”文件具有以下代码:
$config['navigation_open'] = '<ul class="nav">';
$config['navigation_close'] = '</ul>';
$config['item_open'] = '<li>';
$config['item_open_active_class'] = 'active';
如您所见,我正在加载 url
帮助程序、navigation
配置文件和 nav_model
模型。有没有办法检查它们之前是否已加载?可能是我想节省时间然后按如下方式设置 autoload.php
的情况:
$autoload['helper'] = ['url'];
$autoload['config'] = ['navigation'];
$autoload['model'] = ['nav_model'];
如果是这样,我该如何检查是否已加载以便不再尝试加载?
我查看了 config class 的文档,但找不到任何有用的东西
您可以检查 url
助手中的任何功能目前是否可用,因此您将能够了解是否加载了助手,或者您应该自己完成:
if(!function_exists('site_url'))
$this->CI->load->helper('url');
如果您需要检查是否加载了任何帮助程序,这是一个简单的技巧,但不太清楚如何检查 config/model 是否已加载,所以如果您真的想创建自己的自动加载器,您需要对核心对象进行类似的检查($this->CI
):
if(!method_exists($this->CI,'nav'))
$this->CI->load->model('nav_model', 'nav');