PHP MVC - 添加更多视图

时间:2012-04-17 01:23:24

标签: php model-view-controller boilerplate

我最近使用此tiny mvc boilerplate实现了以下MVC代码。 我不想使用Zend或Symfony,因为我只需要一个小结构,但我真的需要稍微花一点时间。

我是PHP的新手,所以想知道是否有人使用过这个或知道我如何添加另一个View。我有链接版本工作,我用来加载我的布局,但想在此布局中添加一个内容部分,可以调用其他页面。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

下面的神......视频太可怕了。

在那个现有的例子中,如果你想添加另一个“视图”(实际上不是什么视图),你需要在控制器中使用另一种方法:

class Controller
{
    // -- snip --
    // you need to change the constructor too
    public function __construct()
    {
        $this->load = new Load;
        $this->model = new Model;
    }

    // -- snip --

    public function gallery()
    {
        $list = $this->model->get_urls();
        if ( count($list) > 0 )
        {
            $this->load->view('gallery.php' , $list);
        }
        else
        {
            $this->load->view('error.php', array(
                 'source' => 'gallery',
                 'reason' => 'empty'
            ));
        }
    }

    // -- snip --
}

您还需要更改 tinyMvc.php 文件:

$c = new Controller;
$action = 'home';
if ( isset( $_GET['page']))
{
    $action = $_GET['page'];
}

if ( method_exists( $c, $action) )
{
    $c->{$action}();
}
else
{
    echo 'no such action !';
}

反正。整个“教程”使用MVC的术语,这并不是真正意义上的。他的“观点”实际上只是一个简单的模板。这对于初学者来说学习怎么做并不完全是一件事,但他的实现也很糟糕。如果你想学习如何制作简单的原生php模板,你可能会发现this article非常有用。