这是最开始接触Laravel的一个阶段。若是有PHP经验,那么应该能很快找到MVC的路径,而后得心应手的开始写起来。虽然还显得有些笨拙,不过很快就能作出一些内容了。若是没有PHP经验,仍是不建议轻易入坑的。毕竟连语法都不熟悉,很难上手。php
Laravel因为支持大量的命令行生成代码,可能对于thinkPHP或者其余框架的用户并不太友好,不过当你须要建立大量文件的时候,仍是会以为很好用的。即便是简单的增删改查,也建议多用命令行,好比最好用的php artisan make:model Foo -m,直接建立了model和对应的migration。node
开发了比较多的功能以后,会发现须要大量的测试数据,这时候factory和seeder就该大显身手了。固然这两个货并不怎么好搞定,faker的功能很是之多,factory中建立各类faker,而后在seeder中调用,学会这些,你就又升了一级。python
faker对中文支持也很好,能够生成用户名,英文名,中文名,中文公司名,中文的企业口号,大陆电话号码等。数据填充的文档faker的文档laravel
最开始表单校验都是直接写在controller中,若是了解一下request相关的内容,能够将表单验证和数据建立更新,都放在单独的request类中,php artisan make:request FooForm便可建立一个表单验证器。个人习惯是,把新建和更新的验证,都写在一块儿,这样方便对照,以避免出错。数据库
表单类支持自动验证登陆,自动验证规则,支持不少种规则还支持自定义规则(php artisan make:rules balabala),还能够用messages函数,返回自定义错误信息。表单相关的文档设计模式
Laravel从5.5才开始支持浏览器自动化测试dusk,不过功能直接就登峰造极了,各类assert让你眼花缭乱,并且易用性也在我用过的各类浏览器测试框架中数一数二。若是没有接触过自动化测试或者浏览器测试,建议先尝试一下其余框架,python、nodejs也都是有这方面工具的,作http测试和浏览器什么的。传统的人工测试,实在有点落后了。浏览器
dusk最好用的,一个是支持分页,也就是把一部份内容抽象到单独的类里面;还有一个是有好多内置函数,不须要写一大堆选择器,好比type输入可使用input的名字,press使用button的名字,clickLink使用连接的名字,还能自定义高级选择器;另外一个是遇到错误能够自动截图,简直是神操做,能够直观看到出错的页面。测试相关的文档(https://d.laravel-china.org/docs/5.5/dusk)架构
我目前刚达到这一阶段,今天才刚刚理解依赖注入的用法,才开始用上repository模式,以前数次重构,都没有成功。Laravel真正的神奇之处就在这里,你能够在controller以外的地方注入request对象,从而把大量的逻辑都从controller和model中剥离出来。在这以前的一阵子,我一直在用presenter模式,把视图中涉及到一些逻辑的代码都提取出来,以便复用。框架
项目愈来愈大以后,MVC已经彻底不够用了,controller乱成一团,model里也有好多逻辑代码,view里有不少判断和计算。这时候就须要好好设计一下骨架了,好比presenter、repository等,service模式还没用过,后续可能会使用吧。Laravel中大型项目架构(http://oomusou.io/laravel/laravel-architecture/#Presenter)函数