Не загружать библиотеку автозагрузки в codeigniter

#php #model-view-controller #codeigniter #codeigniter-2

#php #модель-представление-контроллер #codeigniter #codeigniter-2

Вопрос:

У меня есть библиотека, которая используется всеми контроллерами. Но для конкретного контроллера я не хочу загружать эту библиотеку. Есть ли какой-либо способ, которым я могу прекратить загрузку этой библиотеки для этого контроллера.

я использую эту команду, но ее сбой:
$this-> load->library(‘xyz’,array(‘autoload’ => FALSE));

Спасибо

Ответ №1:

Автозагрузка предназначена для глобальных элементов сайта.

Более чистым решением может быть расширение контроллера и загрузка библиотеки в конструктор этого нового контроллера. Тогда все ваши контроллеры расширяются с этого контроллера, кроме тех, которые вы не хотите загружать в эту библиотеку — они могут расширять исходный контроллер CI.

На реализацию этого у вас уйдет менее 5 минут, и вам не придется ничего взламывать.

Ответ №2:

Вы можете взглянуть на эту ссылку:

http://xplus3.net/2010/05/31/conditional-auto-loading-of-libraries-in-codeigniter/

По сути, вы бы перезаписали autoload.php библиотеку для проверки наличия переменной. Если эта переменная равна false, то явно добавьте конкретную библиотеку в массив автозагрузки.