CI控制器中的冗余实现

时间:2009-12-20 05:55:03

标签: php codeigniter

我想问你博客头版的最佳实践。 我想使用CodeIgniter框架构建博客应用程序。我有2种类型的页面(首页和管理页面)

假设我的首页中有几个控制器(主页,帖子,页面和链接)。默认情况下,我为所有这些控制器都包含了viewer:header.php,footer.php,sidebar.php。

在侧边栏中,我总是显示类别,最近的评论,最近的帖子,链接和存档。所以,在我的所有首页控制器中,我必须实现选择的类别,最近的评论,最近的帖子,链接和存档。假设我在所有控制器的构造函数中实现。

__construct () {
//data['categories'] = CategoryModel->getlist
//data['recent_posts] = PostModel->get_recent_post
//etc

你能建议我,我必须放置这个方法所以我不能在所有控制器中实现这个方法。

由于

2 个答案:

答案 0 :(得分:2)

您可以编写一个基本控制器,其他的继承自

class AppStartup extends Controller {

    function __construct() {
        // whatever you need
    }

}

然后

class Home extends AppStartup {

    // ....

}

此外,你可以开始接受给你的一些答案,否则人们会很乐意帮助你。

答案 1 :(得分:1)

执行此操作的最佳方法是创建MY_Controller并使用$ this->数据而不是$ data。这意味着所有控制器都将从MY_Controller运行(只要您明确告诉控制器继承它)。

http://codeigniter.com/wiki/MY_Controller_-_how_to_extend_the_CI_Controller/