我正在使用codeigniter 2.
感谢是否有人能够以正确的方式检查以下文件:
- 库文件已加载?
- 加载了辅助文件?
- 配置文件已加载?
- 加载模型文件?
- 加载了third_party文件?
问候
答案 0 :(得分:22)
您可以使用本机PHP函数class_exists()来确定是否已定义类, 在打电话之前。同样,使用method_exists()将检查类方法是否存在。
由于帮助器是函数的集合,而不是方法,因此可以使用function_exists()进行检查。
if (class_exists('Library'))
{
$this->library->myMethod();
}
有关详细信息,请参阅
答案 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
有一个内置方法load
。 is_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";}