Заставить CodeIgniter использовать <ControllerName>_Controller по умолчанию без изменения библиотеки? - PullRequest
2 голосов
/ 27 января 2010

Я обнаружил, что у меня много конфликтов с именами классов при разработке для CodeIgniter. Например, у меня недавно была ситуация, когда у меня был контроллер Checkout:

class Checkout extends Controller 
{
    // Contents
}

А затем приступил к созданию новой пользовательской библиотеки:

class Checkout
{
    // Contents
}

Что, очевидно, приведет к ошибке.

Я хочу иметь возможность определять мои контроллеры как <ControllerName>_Controller так:

class Checkout_Controller extends Controller 
{
    // Contents
}

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

Я знаю, что вы можете сделать это с маршрутизацией (и это то, как я справлялся с этим до сих пор), но мне кажется, что это скорее хак, чем реальное решение. Есть ли способ заставить CodeIgniter использовать нужный мне синтаксис с необходимыми ограничениями?

1 Ответ

4 голосов
/ 27 января 2010

Хотя эта статья, как правило, «размалывает мои механизмы», она показывает, как использовать суффикс _Controller для ваших контроллеров.

http://net.tutsplus.com/tutorials/php/6-codeigniter-hacks-for-the-masters/

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