如何在CodeIgniter中布局基类和3个扩展类?

时间:2013-03-22 17:13:16

标签: codeigniter class inheritance

这是我想在CodeIgniter中用于控制器的布局:

(base) editor
(extend) design
(extend) content
(extend) ...php

...其中editor是基类,designcontent等控制器扩展editoreditor类将具有可从扩展类URL段公开访问的方法。

我在这里阅读了一些主题,他们建议:

  1. 图书馆 - 这不起作用,因为方法无法公开访问(我是否正确?)

  2. 将基类放在与扩展类相同的文件中,并将控制器命名为 - 这不起作用,因为我需要从多个位置扩展。

  3. 将所有文件放在controllers文件夹中,为每个扩展类添加require语句 - 这是不好的形式?

  4. 我是CI的新手。处理这个问题的正确/正确方法是什么?

    谢谢!

1 个答案:

答案 0 :(得分:0)

http://www.ellislab.com/codeigniter/user-guide/general/core_classes.html

使用MY_Controller扩展核心CI控制器,然后使用其他控制器扩展MY_Controller。所有其他保留MY和MY中的功能保留了基本控制器的功能

还有这篇文章允许更多没有MY_前缀的控制器,我使用它并发现非常有用!

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-base-Classes-Keeping-it-DRY