我正在使用 Codeigniter 2。
如果有人可以展示检查以下文件的正确方法,请感激不已:
可以使用 PHP 原生函数 class_exists() 来判断类是否已经定义, 在调用它之前。同样,使用 method_exists() 将检查类方法是否存在。
由于助手是函数的集合,而不是方法,因此可以使用 function_exists() 来完成检查。
if (class_exists('Library'))
{
$this->library->myMethod();
}
欲了解更多信息,请参阅
您不必检查,只需将它们加载到您需要的任何地方即可。
使用 CI 的 Load 库 (
$this->load->[library|model|helper]
) 将始终只加载一次。如果您打开调试日志记录,您可以看到这一点。
这是检查加载的库的 codeigniter 方法。
//If the library is not loaded, Codeigniter will return FALSE
if(!$this->load->is_loaded('session'))
{
$this->load->library('session');
}
一旦加载,您的实例就会存储在控制器上,因此要检查模型是否已加载:
if (isset($this->my_model))
其中
$this
是您的控制器。
最好的方法是使用 Codeigniter 的
Loader
类。 Loader
又名load
有一个内置方法is_loaded
。 is_loaded
方法检查类是否已经加载。
如果类尚未加载,则
is_loaded
返回FALSE,否则返回属性名称。
示例:
$this->load->library('table');
$this->load->is_loaded('table'); //Returns 'table'
$this->load->is_loaded('blabla_library'); //Returns FALSE
如果您想在加载前检查库是否存在,您需要遵循以下简单的方法。
希望,这会有所帮助。
if(file_exists(DOC_ROOT."application/front/libraries/" . ucfirst($library).".php"){
$this->load->library($library);}else {
echo "No library found";}