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