使CodeIgniter默认使用<controllername> _Controller而不更改库?</controllername>

时间:2010-01-27 10:47:21

标签: php codeigniter naming-conventions

在为CodeIgniter开发时,我发现我与类名有很多冲突。例如,我最近遇到过Checkout控制器的情况:

class Checkout extends Controller 
{
    // Contents
}

然后继续创建一个新的自定义库:

class Checkout
{
    // Contents
}

这显然会引发错误。

我想要的是能够将我的控制器定义为<ControllerName>_Controller所以:

class Checkout_Controller extends Controller 
{
    // Contents
}

我希望CodeIgniter像任何其他控制器那样选择它。我还希望这样做不用更改任何核心库,以便我可以更新它而无需一次又一次地重新实现我的更改。

我知道你可以通过路由来做到这一点(这是我到目前为止处理它的方式),但在我看来,这更像是一个黑客而不是一个实际的解决方案。有没有办法强制CodeIgniter使用我想要的语法和我需要的限制?

1 个答案:

答案 0 :(得分:4)

虽然这篇文章通常“研磨我的齿轮”,但它确实向您展示了如何将_Controller后缀添加到控制器中。

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