宿迁腾云网络公司

腾云网络 五年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • SEO优化
    • APP开发
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 网站建设 > Laravel初学者必须会的几样东西

Laravel初学者必须会的几样东西

2019-11-12

用Laravel也有三四个月了,虽然是兼职开发,但是使用的频率非常之高,毕竟是产品化的一个项目。

在这期间,也踩了无数的坑,走了很多弯路,所以准备把最近的感悟记录下来,方便后来者。

第一阶段:简单的增删改查

这是最开始接触Laravel的一个阶段。如果有PHP经验,那么应该能很快找到MVC的路径,然后驾轻就熟的开始写起来。虽然还显得有些笨拙,不过很快就能做出一些内容了。如果没有PHP经验,还是不建议轻易入坑的。毕竟连语法都不熟悉,很难上手。

Laravel由于支持大量的命令行生成代码,可能对于thinkPHP或者其他框架的用户并不太友好,不过当你需要创建大量文件的时候,还是会觉得很好用的。即使是简单的增删改查,也建议多用命令行,比如最好用的php artisan make:model Foo -m,直接创建了model和对应的migration。

第二阶段:数据库factory和seeder

开发了比较多的功能之后,会发现需要大量的测试数据,这时候factory和seeder就该大显身手了。当然这两个货并不怎么好搞定,faker的功能非常之多,factory中创建各种faker,然后在seeder中调用,学会这些,你就又升了一级。

faker对中文支持也很好,可以生成用户名,英文名,中文名,中文公司名,中文的企业口号,大陆电话号码等。数据填充的文档faker的文档

第三阶段:表单剥离

最开始表单校验都是直接写在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)


Tag:

感谢您关注我们,如果您有建站需求,请与我们取得联系。

网站制作公众号

宿迁腾云网络公司@网站开发| 网页制作公司 | 网站制作公司

咨询电话:13160355545

上一篇

返回栏目

下一篇

热推

  • win10正式版系统界面字体颜色偏淡怎么办?
  • 腾云网络网站升级改版正式上线!

相关

标签

html5(1) 画板(1) 网站排名(1) 百度优化(1) 动网(1) 网站架构(1) 网站统计(1) 搜索引擎优化(1) iconv(2) 字符(1) windows 10(1) 网络科技有限公司(1) 网站建设公司(1) 解决方案(1) 网站建设方案(2) 学院(1) 学校(1) 手游(1) 养老(1) 民生(1)
宿迁腾云网络公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络公司

13160355545

江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

SiteMap
Copyright © 2017-2020 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1
网站建设
建站费用
成功案例
联系我们
  • 售前客服
  • 售后客服
  • 微信扫一扫
  • 联系电话
    手机号13160355545
  • 返回顶部