我是 Codeigniter 的新手。我在自动加载中有 3 个库config.php
。
但在我的一个控制器中,我不想加载库。这可能吗?
如果您在整个应用程序中需要任何库,您可以在配置文件中加载它,它将自动加载。但是,如果您只需要特定控制器中的库,则可以将其加载到需要它的控制器中。
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();
}
}
在您的库中扩展 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;
}
}
您可以从自动加载文件中删除库。那么它们将不会在框架中激活。如果你想使用它们,如果你想在类中使用它们,你可以在构造函数中调用它们。如果你想在方法中使用它们,你在方法中加载它们。