适用于高级PHP开发人员的MVC

Iva*_*van 64 php oop model-view-controller

我需要更有经验的程序员的帮助.我想提高我的MVC技能.但我找不到关于Google for MVC的好教程.谷歌总是给"初学者MVC".

我理解MVC是什么,我可以做到,但我没有经验足以在OOP中做一些实用的事情.

如果有人知道一个好的面向对象的MVC教程,请指引我到正确的地方 - 我正在寻找好的链接,书籍等.

ter*_*ško 244

链接包含仅包含PHP的材料,标记php为更容易识别.

在全面了解OOP之前,您甚至无法开始深入研究MVC.这包括OOP实践(依赖注入,单元测试,重构)原则(SOLID,SoC,CQS,LoD)和常见模式(不,单例不是面向对象的模式).

MVC是一种先进的架构设计模式,需要扎实的理解.它不适合初学者或微小的"hello world"应用程序.一个人使用MVC为代码库添加额外的约束,当简单地遵守OOP实践变得太松而无法控制代码库时.

我能为您推荐的最好方法是首先扩展您对面向对象代码的知识:

上面的两个讲座应该涵盖基础知识.然后继续:

当您理解本系列中解释的所有内容后,您可以展开:

另外,我强烈建议您阅读(按此顺序):

PS:你也可以看看这本书(谨慎,因为它有问题):PHP设计模式指南 php

  • 单元测试的另一件事是 - 阻止你(或一些过分的同事)删除*"优化"*中的错误修正,只是因为有人不知道或不记得"为什么在IF中有这种奇怪的第三个条件"声明?".如果你删除了破坏代码的东西,单元测试可能会把它拿起来. (5认同)
  • 事情是,当你开发没有测试时,工作流程如下:*你写了一些代码,你上传它,然后你填写一些不同形式的数据或点击周围,看看它是否有效..然后你重复*.每次填写数据都需要时间.通过单位测试,您可以获得预定义的输入和预期输出列表,这样您就不必第100次填写该50字段保险表单,只需测试,如果第32字段的验证正常工作.每次发现错误时,您只需添加一个测试,其中包含复制该错误的数据以及实际应该存在的输出. (4认同)