codeigniter检查库/辅助/核心文件是否已加载的正确方法

时间:2013-05-14 05:58:45

标签: codeigniter configuration declaration

我正在使用codeigniter 2.

感谢是否有人能够以正确的方式检查以下文件:
- 库文件已加载?
- 加载了辅助文件? - 配置文件已加载?
- 加载模型文件?
- 加载了third_party文件?

问候

6 个答案:

答案 0 :(得分:22)

您可以使用本机PHP函数class_exists()来确定是否已定义类, 在打电话之前。同样,使用method_exists()将检查类方法是否存在。

由于帮助器是函数的集合,而不是方法,因此可以使用function_exists()进行检查。

if (class_exists('Library')) 
{
    $this->library->myMethod();
}

有关详细信息,请参阅

http://php.net/manual/en/function.class-exists.php

http://us.php.net/manual/en/function.method-exists.php

答案 1 :(得分:10)

您无需检查,只需将它们加载到您需要的地方即可。

使用CI的加载库($this->load->[library|model|helper])将始终只加载一次。如果打开调试日志记录,可以看到这一点。

答案 2 :(得分:5)

这是用于检查加载的库的codeigniter方法。

//If the library is not loaded, Codeigniter will return FALSE
if(!$this->load->is_loaded('session'))
{
     $this->load->library('session');
} 

答案 3 :(得分:1)

加载后,您的实例存储在控制器上,以检查是否已加载模型:

if (isset($this->my_model))

$this是你的控制者。

答案 4 :(得分:1)

执行此操作的最佳方法是使用Codeigniter的sizeof(Module)类。 Loader又名Loader有一个内置方法loadis_loaded方法检查是否已加载类。

如果尚未加载该类,则is_loaded返回FALSE,否则返回属性名称。

示例:

is_loaded

答案 5 :(得分:0)

如果要在加载前检查库是否存在,则需要按照以下简单方法进行操作。

希望,这会有所帮助。

if(file_exists(DOC_ROOT."application/front/libraries/" . ucfirst($library).".php"){
$this->load->library($library);}else {
echo "No library found";}