代码点火器从库中加载库?

时间:2010-11-25 23:42:23

标签: php codeigniter libraries

是否可以在代码点火器中从库中加载库?

如果我这样做

$this->validator = $this->CI->load->library('validators/'.$params['validator']);

来自另一个库$ this->验证器为NULL。

为什么会这样?

1 个答案:

答案 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]