Я новичок в Codeigniter. У меня 3 библиотеки в автозагрузке в config.php
.
Но в одном из моих контроллеров я не хочу загружать библиотеки. Это возможно?
Я новичок в Codeigniter. У меня 3 библиотеки в автозагрузке в config.php
.
Но в одном из моих контроллеров я не хочу загружать библиотеки. Это возможно?
Расширьте возможности 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;
}
}
Если вам нужна какая-либо библиотека во всем приложении, вы можете загрузить ее в файле конфигурации, и она будет загружена автоматически. Но если вам нужна библиотека только в конкретном контроллере, вы можете загрузить ее в тот контроллер, где она вам нужна.
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();
}
}
вы можете удалить библиотеки из файла автозагрузки. тогда они не будут активны в фреймворке. Если вы хотите их использовать, вы можете вызывать их в конструкторах, если хотите, чтобы они были в классе. Если вы хотите использовать их только в методе, вы загружаете их в метод.