【发布时间】:2011-01-01 21:35:18
【问题描述】:
潜伏已久,第一次发帖……
我现在几乎可以称自己为专业级的 PHP 程序员,并且有很多代码可以在各种项目中重复使用。此外,我使用过的许多开源包都使用 MVC 模型,因此我最近对它的工作原理进行了大量研究,以便我可以根据需要更好地编辑它们。
此时,我正在考虑采用一个简单的 MVC 框架(来自教程)并根据我即将进行的编程工作的需要对其进行扩展。
我的问题是,几乎所有应用程序逻辑都与表示层分离的 MVC 模型是否被认为是结构良好的 OOP 网站上的最佳实践,必要时在页面上进行编码,例如设置函数变量。
或者当我想要编码灵活性时会遇到问题,例如
- 使用 PHPthumb 之类的东西作为我想要不同输出的画廊 不同页面的大小和当前在头部设置的参数 页面的
- 带有 x 字段的联系表单和带有 y 字段的反馈表单 - 这将需要 2 个不同的模型,而不是在页面头部设置一些参数的通用表单类
- 某些页面需要 ob_start() 和 ob_flush() 而其他页面不需要?
请不要告诉我不要构建自己的框架 - 我宁愿知道每一点的工作原理,也不愿使用我一无所知的代码 - 我真的很感兴趣那些已经离开的人的意见这条路线每天都在建站点。与 1 个 index.php 页面和单独的文件相比,这种简单(但结构良好)的 OOP 和网站上的一堆页面的真正优点和缺点是什么。
干杯, 小鬼
【问题讨论】:
-
I'd rather know how each little bit works than use a slab of code I know nothing about-- 当然,你对代码一无所知一开始 但是由于 php 代码是可读的,如果你不想要,那是你的错研究代码。 -
如果你真的对“走这条路的人”所说的话感兴趣,你不应该以“请不要告诉我构建我自己的框架”开头。因为那是最好的答案。
-
此外,使用受人尊敬的框架是加深您对实现 MVC 模式的理解的好方法,如果您仍然发现缺少可用的解决方案,这将有助于您构建自己的框架。
-
我绝对属于“学习一个(或几个)但也要建立自己的”阵营。在您尝试制作八角形之前,没有合理的方法可以理解为什么轮子是圆形的。也就是说,根据需要构建它。不要花时间设计没有任何适用性并最终被浪费的功能。
-
我写了一篇关于在 PHP 中从头开始创建自己的 MVC 的博文 - chaitya62.github.io/2018/04/29/…希望这会有所帮助