我是Codeigniter的新手。
我在config.php
中的自动加载中有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方法中使用它们,可以在方法中加载它们。