Загрузчик кодигнита типа Zend - PullRequest
0 голосов
/ 04 января 2012

Есть ли способ создать функцию, которая работает для всех контроллеров в Codeigniter при init?

В Zend есть приложение / Bootstrap.php, мне нужно какое-то подобное решение.

Ответы [ 2 ]

2 голосов
/ 04 января 2012

Вы можете расширить собственный класс CI_Controller и создать класс MY_Controller, который будут расширять все контроллеры вашего приложения.Методы в классе MY_Controller будут доступны для каждого контроллера, который его расширяет.Вы также можете поместить код в конструктор MY_Controller, который будет выполняться при каждом создании дочернего контроллера.

Я не помню точно, как работает файл Bootstrap в Zend, но если это звучит как жизнеспособныйВ разделе «1007 * Создание базовых системных классов» документации объясняется, как расширить собственный контроллер.

1 голос
/ 04 января 2012

Вы можете расширить свой New_controller до CI_Controller.В New_controller вы можете написать общую функцию, которую вы хотите.Для использования с новым расширенным контроллером вы можете увидеть эту ссылку:

Тема расширения основных контроллеров кратко обсуждается в нескольких местах руководства - особенно на страницах Основные классы и Создание библиотек.

Цель расширения основного контроллера - предоставить методы и атрибуты всем вашим обычным контроллерам.Существуют и другие способы обеспечения такой распространенной функциональности, в том числе хуки, библиотеки и помощники.Вы должны ознакомиться с методами и преимуществами этих альтернатив, прежде чем предположить, что следующим является ответ на ваш вопрос.

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

- extend_the_CI_Controller

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...