Codeigniter中的自动加载库

时间:2012-12-25 12:21:40

标签: codeigniter autoload

我是Codeigniter的新手。  我在config.php中的自动加载中有3个库。

但在我的一个控制器中,我不想加载库。这可能吗?

3 个答案:

答案 0 :(得分:6)

如果您需要整个应用程序中的任何库,您可以将其加载到配置文件中,它将自动加载。但是,如果您只需要在特定控制器中使用库,则可以将其加载到您需要的控制器中。

Class test Extends CI_Controller{

    function index()
    {
        $this->load->library('mylibrary');
        $this->mylibrary->somemethod();    
    }

}

或者如果你需要通过控制器的库,你可以在构造函数中加载它。

Class test Extends CI_Controller{

    function __construct()
    {
       parent::__construct();
         $this->load->library('mylibrary');
    }

    function index(){
         $this->mylibrary->somemethod();    
    }
    function test(){
         $this->mylibrary->someothermethod();    
    }

}

答案 1 :(得分:2)

在库中扩展CI_Controller。

这样的事情:

class MyLibrary extends CI_Controller {
    var $ci;

    function __construct() {

      $this->ci = &get_instance();
      $route = $this->ci->router->fetch_class();

      if( $route == strtolower('YourController') ) return false;
    }
}

答案 2 :(得分:0)

您可以从自动加载文件中删除库。然后他们就不会在框架中活动了。 如果要使用它们,可以在构造函数中调用它们,如果您希望它们在类中。如果要在just方法中使用它们,可以在方法中加载它们。