Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MVC-添加更多视图_Php_Model View Controller_Boilerplate - Fatal编程技术网

PHP MVC-添加更多视图

PHP MVC-添加更多视图,php,model-view-controller,boilerplate,Php,Model View Controller,Boilerplate,我最近用这个实现了下面的MVC代码。 我不想使用Zend或Symfony,因为我只需要一个小的结构,但我真的需要稍微扩展一下 我是PHP新手,所以想知道是否有人使用过这个或知道我如何添加另一个视图。我已经得到了链接版本的工作,我用它来加载我的布局,但想在此布局中添加一个内容部分,可以调用其他页面 这方面的任何帮助都将是巨大的 下面的神。。那视频太恐怖了 在该现有示例中,如果要添加另一个视图,而该视图不是真正的视图,则需要控制器中的另一个方法: class Controller { //

我最近用这个实现了下面的MVC代码。 我不想使用Zend或Symfony,因为我只需要一个小的结构,但我真的需要稍微扩展一下

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


这方面的任何帮助都将是巨大的

下面的神。。那视频太恐怖了

在该现有示例中,如果要添加另一个视图,而该视图不是真正的视图,则需要控制器中的另一个方法:

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文件:


无论如何。整个教程使用了MVC的术语,这并不是真正的MVC。他的观点实际上只是一个简单的模板。对于初学者来说,这不完全是一件需要学习的事情,但他的实现也很糟糕。。如果您想学习如何制作简单的原生php模板,您可能会发现它非常有用。

从该视图调用它?或者更好,使用一个模板。好的,这个框架对于现实世界的使用来说太基本了,你需要控制脚本的路径,并且它是硬编码到一个类中的,所以你可以调用controller.php,我想它只是为了解释MVC。。。我建议您阅读本教程并从源文件中学习。谢谢你们的帮助。我有一种感觉,我用的例子太简单了。谢谢tereško。从那以后,我决定删除上述模板并使用另一个模板。我目前正在选择[PHPro]PHPro.org/tutorials/Model-View-Controller-MVC.html和[Symfony2]。我听说[Codeigniter]对初学者很好,但我想知道我是否会后悔将来使用这样一个基本的框架。@DVL,Codeigniter和CakePHP是最差的php框架之一。尽可能避免。symfony2是可以接受的,但是对于你这个级别的人来说,它可能太复杂了。不要试图深入MVC,你应该学习更多关于OOP的知识。。这是一条与编写良好的面向对象代码相关的原则。我有一个项目要完成,所以我真的很想陷进去。我应该尽快拿起它,以确保我使用了正确的工具。你会推荐PHPro MVC吗?看起来很好而且很轻,如果需要的话,允许我添加一些东西。@DVL,eet?绝对不是。但是作为学习正确的MVC的垫脚石,这也行。谢谢你的评论和帮助。我可以先使用PHPro,只要它是轻量级的,并且允许我使用模板调用不同的视图,现在就可以了。谢谢
$c = new Controller;
$action = 'home';
if ( isset( $_GET['page']))
{
    $action = $_GET['page'];
}

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