man*_*pig 3 php model-view-controller frameworks
我正在创建一个PHP Web应用程序框架(MVC)。我宁愿不使用外部库或组件(因为我现在希望这纯粹是我的工作)
您能否告诉我一些有关我的每个文件应负责做什么的提示/指南?例如,框架脚本应处理什么,框架中使用的应用程序脚本应处理什么?
我一直在更改编写不同代码的位置(就像我自己想的那样……“应该由框架还是由每个应用程序来处理?”),这使我在编写过程中更加困惑。
我已经读了一堆(甚至20 ... 50 ... 100!)有关MVC,框架等的教程,但是没有太多的文章可以解释框架的理想“流程”。
目前,我有这样的工作:
现在...我似乎正朝着正确的方向前进?框架的Main Index脚本而不是App Index应该做什么?Main索引是否应该只是启动一些东西并将大部分工作传递给App索引,App索引将设置路由器等以将URL路由到控制器等?还是框架应该创建路由器并启动控制器,而App只需设置控制器路径和一些规则等?
我了解Controller的功能以及模型/视图等(稍后我会穿过那些桥梁),但是现在我只想让基本的东西从正确的地方正确地流动,所以以后的东西会起作用好。
此刻,我的头快要爆炸了!哈哈
这甚至可能是一个非常愚蠢的问题,但是我只是想在我完全摆脱一切之前,需要一些直接的指导来帮助我清除所有问题!任何意见,将不胜感激。
谢谢=)
小智 5
当人们只是将您指向现有框架并指出您不应该重新发明轮子时,我真的很不喜欢。
像其他模式一样,MVC只是指导原则,没有固定的方法来获得结果。这是一种理论,可以通过多种方式实施以达到所需的结果。
的确,车轮的类比是有缺陷的,就像对汽车制造商说不要制造新车,因为汽车已经存在。
有些车轮是用木头制成的,而另一些是金属制成的,没有一种流行的PHP MVC框架遵循相同的结构或功能,它们也有很大不同。
您可以有上千个不同的框架,或多或少都遵循MVC模式,但不是两个是完全相同的。
一个框架过于复杂,需要永远了解它的工作原理,另一个框架会在您身上强制执行非常具体的工作流程,从而几乎没有自由的余地,而另一个框架过于简单,甚至缺乏基本功能。
有一个很好的理由来开发自己的框架,即框架。您的项目框架。没有人比您自己(希望)更好地了解您的代码,如果您构建了一个使您轻松有效地开发项目的漂亮框架,则一定要重新发明轮子!
John Squibb有一个很好的教程,介绍了一种构建简单MVC框架的方法。http://johnsquibb.com/tutorials/mvc-framework-in-1-hour-part-one
哦,是的,另一件事是,不要被吸引到通用的新手构造中,在该构造中,必须将单个入口点强制化,从而迫使您依赖Apache mod_rewrite或类似方法。MVC可以使用单个入口点或多个入口点构建。
除了构建框架之外,您还可以开发一个不错的库,您可以在所有项目中重用该库。