![]() |
1
6
我不同意你对模特的看法。从长远来看,1个模型=1个桌子的设计会伤害你。 首先,我认为您需要放弃model==database这一严格的概念。虽然这通常是正确的,但实际上模型只是数据——它可能来自XML文件、缓存,甚至是Web服务。 退房 this excellent answer 通过 Bill Karwin -它很好地解决了这些问题。 第二,读一些关于 fat models, skinny controllers (或) thin controllers ) 最后,正如更多的Fyi一样,你的“超级控制器”的概念是更常见的“前端控制器”。 |
![]() |
2
2
您真的应该看看外面的PHP MVC框架。他们已经把这些事情都弄清楚了。他们将有URL路由(/article/edit/1),良好的MVC分离,以及优秀的文档来帮助您完成它。因此,您可以考虑应用程序,而不是担心如何从控制器调用视图。我个人救了 吨 我终于开始跳水了。
还有很多其他的。 从头开始创建一个php-mvc框架可能不值得这么做。如果你已经下定决心要重新设计轮子,那么你至少应该看看这些框架中的设计考虑,以获得灵感。 |
![]() |
3
1
创建自己的框架对于了解更多关于设计模式、OOP设计和更多关于PHP的知识都是很好的。 但是按照拜伦的建议去做,并查看一些MVC框架的源代码,只是为了了解它们是如何实现MVC模式的。 从zend框架中获取一些东西,然后从cakephp中获取一些东西,最后,您将得到一些对您有用的东西,并且您还将学到一些东西(注意:不要复制代码,只需获得一个想法!!) 您的超级控制器想法是可以的,但是超级控制器应该将查询字符串作为参数读取(检查zend和其他控制器的.htaccess以了解它们是如何进行的),这样它可以将第一个参数作为控制器,其余参数作为该控制器的参数。 祝你好运!! |