Я обнаружил, что у меня много конфликтов с именами классов при разработке для CodeIgniter. Например, у меня недавно была ситуация, когда у меня был контроллер Checkout:
class Checkout extends Controller
{
// Contents
}
А затем приступил к созданию новой пользовательской библиотеки:
class Checkout
{
// Contents
}
Что, очевидно, приведет к ошибке.
Я хочу иметь возможность определять мои контроллеры как <ControllerName>_Controller
так:
class Checkout_Controller extends Controller
{
// Contents
}
И я хочу, чтобы CodeIgniter подхватил это, как любой другой контроллер. Я также хочу сделать это без изменения какой-либо базовой библиотеки, чтобы я мог обновлять ее без повторной реализации моих изменений снова и снова.
Я знаю, что вы можете сделать это с маршрутизацией (и это то, как я справлялся с этим до сих пор), но мне кажется, что это скорее хак, чем реальное решение. Есть ли способ заставить CodeIgniter использовать нужный мне синтаксис с необходимыми ограничениями?