我正在尝试构建自己的PHP MVC框架。
目前我正在创建一个简单的2页网站,其中每个页面都扩展了一个模板页面,这样我就不必在创建新页面时担心元标记,页眉,导航和页脚。
我试图想出一种方法将其分解为MVC的单独组件但不能
这让我相信MVC不一定是这个框架的前进方向。
那么,MVC概念是否适用于静态(通过静态我的意思是唯一的用户输入是点击链接,没有登录或任何东西)PHP页面?
答案 0 :(得分:3)
MVC架构的核心是将业务逻辑与表示逻辑分离。
在(你所谓的)静态站点中,模型层的唯一作用(是的,它是一个层,而不是一个类)将从缓存或数据库中获取内容。在这种情况下,您将获得更多帧然后工作,因为设置MVC结构将需要更多代码,然后是有用的部分。
绝对做一个。在PHP社区中,这几乎就像一个通过仪式。如果您还没有制作至少很少的框架,那么您就不是真正的PHP开发人员。
但是,你应该记住,你需要至少3次迭代来构建一些不吸引人的东西。这假设您实际上是在研究OOP原则而不是模仿其他框架。
不要编写完整的MVC框架,而是尝试编写符合其精神的东西。
您应该从两件事开始:
你的应用程序应该有单点入口。这意味着,如果用户写http://who.cares/article/1
,那么您应该将网址重写为index.php?url=article/1
将问题分开。基本上你在这些应用程序中有3种不同的方法:
对于最后一部分,您可能会从this article中受益。其余的,你必须自己决定。
不要使用古代mysql_*
函数来从数据库中收集数据(如果有的话)。它们已不再维护,社区已经开始deprecation process。相反,您应该了解prepared statements并使用PDO或MySQLi。如果您无法决定,this article将有助于选择。如果您想学习,here is a quite good PDO-related tutorial。
答案 1 :(得分:2)
由于您的页面需要编程语言来更改内容,使用用户输入等执行某些操作,因此根本不是静态的。当您仅使用标记和样式语言时,它们是静态的。
很难说你的项目是否需要一个可靠的架构。对于静态页面,您不需要mvc。对于您的2页项目,我认为您不需要mvc,除非您的页面非常动态(1页可以有多个状态)。
如果您真的想要创建自己的框架,那么您应该阅读有关应用程序的结构和体系结构的更多信息。通常只有中/大应用程序需要坚固的结构/架构(例如:mvc)。
最终答案:我认为你的应用程序不需要mvc 附: :制作自己的mvc框架很好,你可以学到很多东西。但如果你单独行动(如果你想让它比现有的更好),它将需要很多来完成它。没有坚实的(近乎完美:))php mvc框架无处可去。 Php社区缺乏一个良好的,全世界接受的框架。许多框架都有其优点和缺点。我甚至听说过一些开发人员说zend mvc更像是一个图书馆。
答案 2 :(得分:1)
首先,mvc绝不是必需的。这只是一种被认为是方便提供组织,强大,安全的模式......
然后,如果您希望我的观点越早熟悉它在静态页面中实现它就越容易继续下一页。