在我制作的最后几个网站中,我想我实现了一种MVC风格的控制器。
我使用mod_rewrite通过index.php发送所有内容,所以url变成了一个查询字符串。
它起作用了,但我想知道它是不是有点老套,或者只是公认的做事方式。有没有更好的方法?我不想要一个框架,我想自己学习。
发布于 2009-12-17 23:29:01
试试我的世界上最小的框架吧。
<?php
$g=$_GET;$c=@$g['c']?$g['c']:'Home';
if(!@include"c/$c.php")die('fail');
$m=method_exists($c,$m=@$g['m'])?$m:'index';
$o=new$c();$o->$m($g);它放在index.php中,而您的控件是./c/Blog.php中的Blog.php。
class Blog {
function index()
{
echo "Hello world";
}
function otherpage()
{
echo "ZOMG!";
}主要是作为一个笑话,因为我想做一个框架,可以在tweet中使用,但基本逻辑已经存在;-)
发布于 2009-12-17 23:27:12
所有的东西都通过一个单一的入口点,例如index.php不是MVC,它是FrontController模式。不过,这与MVC配合得很好。请参阅我的相关answer here。
除此之外,为什么不看看周围的一些框架,了解他们是如何做到这一点的。并不意味着您必须使用它们,只需查看它们的代码并适应您自己的框架即可。
发布于 2009-12-17 23:25:08
这就是我完成它的方式。然后,我创建了一个分派表,该表根据URL实例化哪个控制器和运行哪个分派。
https://stackoverflow.com/questions/1922471
复制相似问题