我已经使用Laravel三四个月了。虽然是兼职开发,但是使用频率很高。毕竟是产品化项目。这期间也踩了无数坑,走了很多弯路,所以准备记录下自己最近的感悟,方便后来者。第一阶段:简单的增删改查这是接触Laravel的第一阶段。如果你有PHP经验,应该能很快找到MVC的路径,然后就可以游刃有余的开始写了。虽然看起来还是有些笨拙,但是很快就能做出一些内容来了。如果没有PHP经验,不建议轻易入坑。毕竟连语法都不熟悉,上手也有难度。由于Laravel支持大量的命令行生成代码,对于thinkPHP或其他框架的用户来说可能不是很友好,但是当你需要创建大量文件时它仍然会非常有用。即使是简单的增删改查,也建议多使用命令行。比如最好的phpartisanmake:modelFoo-m直接创建model和对应的migration。第二阶段:数据库工厂和seeder开发了更多的功能后,会发现需要大量的测试数据。这个时候,工厂和播种机就应该大显身手了。当然,这两件事都不好办。faker有很多功能。在factory中创建各种faker,然后在seeder中调用它们。学完这些,你就更上一层楼了。faker对中文的支持也很好。可以生成用户名、英文名、中文名、中文公司名、中文企业标语、大陆电话号码等。填表文件伪造者文件的第三阶段:表格剥离。一开始,表单验证是直接写在controller里面的。如果了解请求相关的内容,可以将表单验证和数据的创建和更新放在一个单独的请求类中。,phpartisanmake:requestFooForm可以创建一个表单验证器。我的习惯是把新的和更新的验证写在一起,这样方便对比,避免出错。表单类支持自动验证登录,自动验证规则,支持多种规则也支持自定义规则(phpartisanmake:rulesbalabala),也可以使用messages函数返回自定义错误信息。表单相关文档第四阶段:自动化测试Laravel从5.5开始只支持浏览器自动化测试黄昏,但是功能直接达到顶峰,各种assert让你眼花缭乱,易用性也是我在各种浏览器中使用了第一测试框架。如果没有接触过自动化测试或者浏览器测试,建议先尝试其他框架。Python和nodejs也有这方面的工具,比如http测试,浏览器测试。传统的手工测试确实有点落后。dusk最好的用处,一个是支持分页,即将部分内容抽象成一个单独的类;二是内置函数多,不用写很多选择器。例如,输入名称可用于类型输入。press使用按钮的名字,clickLink使用链接的名字,还可以自定义高级选择器;另外就是遇到错误自动截图,简直是神操作,直观的看到错误的页面。第五阶段测试相关文件:设计模式我刚到这个阶段。今天刚刚了解了依赖注入的用法,开始使用repository模式。之前重构过几次,都没有成功。Laravel真正的神奇之处在于,您可以在控制器之外注入请求对象,从而从控制器和模型中剥离大量逻辑。前段时间一直在使用presenter模式,把view里面所有逻辑相关的代码都提取出来复用。随着项目越来越大,MVC已经不够用了,controller乱七八糟,model里面有很多逻辑代码,view里面有很多判断和计算。这时候需要仔细设计骨架,比如presenter,repository等,服务模式还没用,以后可能会用到。Laravel中的大型项目架构
