我目前有一个网站,我没有实现MVC,但我正在测试水域,看看它是否是我想做的事情。我在网上四处看看并没有找到我的问题的明确答案。我有点理解MVC的概念;但是,我想知道如何用MVC处理用户制作的页面。
目前,我主要根据参数加载页面。用户可以添加自己的引号,并将这些引号插入到数据库中。然后,为了显示他们添加的作者的引用,用户将转到例如mysite.com/author.php?quotee=Randy+Pausch。
理想情况下,我想转换我的网站,以便网址看起来像mysite.com/authors/Randy-Rausch或类似的东西。
这是我对MVC不了解的。我是否需要以某种方式为每个作者创建一个视图,如果是这样,我该怎么做?或者URL的最后一部分实际上是一个参数,即使它不使用“?quote = = Some + Author”语法?我觉得有一个基本的MVC,我不理解。
如果有人能为我提供一个好的方法或一个很好的教程来解决我的问题,我会非常感激。我已经看过静态页面上的教程,但是想要一个基于可以由站点用户创建的页面的教程。
感谢您的帮助!
答案 0 :(得分:1)
您可以创建处理所有应用程序逻辑的“控制器”。在这种情况下,它会查看您要求的作者,并决定要显示哪个“视图”。您的控制器可以通过“模型”查找每个作者的数据库信息。然后,您的“控制器”可以将此作者信息发送到您的“视图”,该视图将显示它。
您只需要一个“视图”即可显示作者页面。它会是这样的:
Author name: <?php echo $author_name?>
Book title: <?php echo $book_title?>
Category: <?php echo $category?>
然后在你的控制器中你会有像
这样的东西$data['author_name'] = $this->your_model->get('author_name');
$data['book_title'] = $this->your_model->get('book_title');
$data['category'] = $this->your_model->get('category');
$this->load->view('authors_page', $data);
显然还有更多 - 但希望这会给你一个粗略的想法。