使用模块视图

时间:2013-01-28 19:50:15

标签: php codeigniter module hmvc

我正在为我的Codeigniter应用程序使用HMVC模块化分离,并尝试弄清楚如何使用我设置的模板尝试这一点。有可能有一个更好的方法来处理这个,我不确定它,但如果有人可以提出一个我会全部听到。这是我目前的文件系统。

在每个模块控制器内部都存在一个名为$ view_file的变量。这是传递给正文内容视图页面的变量,并告诉它在我的控制面板中的内容包装器中显示哪个视图文件。

我还包含了我的身体内容视图代码,其中包含一个if语句来查找

/application
    /modules
        /dashboard
            /controllers
                dashboard.php
            /views
                dashboard_view.php
    /views
        index_view.php
        components/
            body_content_view.php  

<!--Body content-->
<div id="content" class="clearfix">
    <div class="contentwrapper"><!--Content wrapper-->

<?php 
if ($this->functions_model->null_check($view_file) === TRUE)
    {
        $this->load->view('components/body_unknown_view');
    }
    else
    {
        if (file_exists($view_file))
        {
            $this->load->view($view_file);
        }
        else
        {
            $this->load->view('components/body_unknown_view');
        }
    }
?>
</div><!-- End contentwrapper -->
</div><!-- End #content -->

1 个答案:

答案 0 :(得分:2)

我无法判断您正在使用的框架上的选择,但是,如果您真的想使用HMVC模式,为什么要坚持使用CI?

不要误解我的意思,这是一个很好的代码框架准备,这可能就是你选择它的原因,但是当涉及到它的范围之外的事情时,它是一个痛苦的底层。

为什么不使用本地支持此功能的其他框架,例如SymfonyLaravel ??

无论如何,如果您仍想坚持使用CI,请在this文章中仔细阅读