0

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

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

4

3 回答 3

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();    
    }

}
于 2012-12-25T16:30:56.140 回答
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;
    }
}
于 2013-05-08T15:13:10.747 回答
0

您可以从自动加载文件中删除库。那么它们将不会在框架中激活。如果你想使用它们,如果你想在类中使用它们,你可以在构造函数中调用它们。如果你想在方法中使用它们,你在方法中加载它们。

于 2012-12-25T16:12:00.637 回答