#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, то явно добавьте конкретную библиотеку в массив автозагрузки.