Fazendo com que o codeigniter use _Controller por padrão sem alterar a biblioteca?
-
23-09-2019 - |
Pergunta
Estou descobrindo que tenho muitos conflitos com nomes de classe ao desenvolver para o CodeIgniter. Por exemplo, recentemente tive a situação em que tinha um controlador de checkout:
class Checkout extends Controller
{
// Contents
}
E depois criou uma nova biblioteca personalizada:
class Checkout
{
// Contents
}
O que obviamente lançaria um erro.
O que eu quero é ser capaz de definir meus controladores como <ControllerName>_Controller
assim:
class Checkout_Controller extends Controller
{
// Contents
}
E eu quero que o CodeIgniter pegue isso como faria com qualquer outro controlador. Eu também quero fazer isso sem Alterando qualquer uma das principais bibliotecas para que eu possa atualizá-la sem reimplementar minhas alterações repetidas vezes.
Eu sei que você pode fazer isso com o roteamento (e é como eu o tenho lidado até agora), mas isso me parece mais um hack do que uma solução real. Existe uma maneira de forçar o CodeIgniter a usar a sintaxe que eu quero com as restrições de que preciso?
Solução
Enquanto este artigo geralmente "tritura minhas engrenagens", mostra como o sufixo _Controller para seus controladores.
http://net.tutsplus.com/tutorials/php/6-codeigniter-hacks-for-the-masters/