是否可以在代码点火器中从库中加载库?
如果我这样做
$this->validator = $this->CI->load->library('validators/'.$params['validator']);
来自另一个库$ this->验证器为NULL。
为什么会这样?
答案 0 :(得分:11)
查看您所引用的library()方法的CI_Loader类的签名:
/**
* Class Loader
*
* This function lets users load and instantiate classes.
* It is designed to be called from a user's app controllers.
*
* @access public
* @param string the name of the class
* @param mixed the optional parameters
* @param string an optional object name
* @return void
*/
function library($library = '', $params = NULL, $object_name = NULL)
{
它返回void,所以当然无论你设置什么返回值都是null。我认为你对这种方法的目的感到困惑。它用于加载库并将其附加到codeigniter超级对象,以便您可以将其引用为:
$this->CI->[library name]
在您的情况下,您只是想以通常的方式引用新加载的库(我猜测基于您的代码片段的一些特定验证器库):
$this->CI->[newly loaded super awesome validator library]