php的laravel框架使用心得
最近在做一项目,是基于laravel的后台api,用于与手机交互的,数据采用json格式。下面说下怎样在两周内把一个新框架或者语言用的得心应手。
项目采用laravel5.4+dingoapi+jwt,数据库使用model(orm)方式。
1、熟练使用工具,我平常看代码用sublime,很轻巧的工具。断点调试用phpstorm,api测试用postman(google浏览器插件),本地用phpstudy搭建环境
2、sublime就不说了,用起来比较简单。phpstorm配置调试,费了不少时间,按照网上的方法能配置,使用上遇到难题,最后发现是点击监听即可(配置完调试后),就是那个右上角的小电话,就这么简单,然后使用postman发送数据,phpstorm会停在断点处,非常方便。
3、postman也费了不少时间,主要是下载的postman与网上的教程中版本不一致,看起来比较别扭,会用了,很方便。
4、phpstudy搭建laravel环境,也进行了一番周折,问题主要出在php版本以及laravel需要开启的动态库上,最后使用php7,动态库出现问题一般是缺少dll文件,下载相关dll即可。
5、jwt需要注意下,项目使用student、teacher两个表认证,但是jwt默认是user表认证。刚开始做使用的是在user表中加老师、学生标志,这样也能达到效果。最后团队内商量还是使用jwt直接在student、teacher两个表认证。最后发jwt需要升级到1.0版本才能支持,因为网上的教程都是用的jwt0.5版本,所以这个要升级。
上面说的都是工具的使用,工具用熟练了,才能高歌猛进。
6、laravel框,看看手册,基本就是配置各种文件,如果想对laravel原理了解下,可以使用phpstorm调试下代码,知道是怎么个流程。
7、api实现,网上的教程都比较老了,都不是laravel5.4的教程,网上的路由配置jwt都是写在web.php配置文件中(老版本没有api.php,只有web.php),经过摸索5.4版本jwt应该写在api.php。
8、dingoapi很简单,使用的就几个函数,我就用了两个collection paginator,这两个函数配合transform,相当好用,transform使用model关联获取几个表的数据。
9、数据表的联合查询,这里出了点麻烦,本来想用model的表关联搞定这个(with),最后用with实现了,因为要跟paginator结合,最后获得的数据会多出无用的数据。最后回到使用leftjoin函数实现。
10、sql语句,laravel做了封装,不知道最后执行的是什么sql,可以通过配置sql监听,将sql打印到log日志中。配置也比较简单。
11、可以通过seed设置一些测试数据,是很方便的。
12、刚开始数据库经常改动,使用migrations,每次回滚,数据就没了,这个是比较头疼的事。用seed自动填充测试数据可以方便一些。
上面说了这个项目所有用到的东西,两周时间可从学习到搭建完这个后台。
后面等这个项目做完,准备做个php项目培训课程,通过网络远程授课,可以远程手把手指导的方式。团购价500元,介绍一个可以减50元,可以到群277304970报名。培训的内容是使用laravel框架开发一个完整的项目,这个项目是以目前做的项目为基础改进的。通过这个增加项目经验,为找工作做铺垫,希望这里是个良好的开始。
php的laravel框架使用心得的更多相关文章
- PHP Laravel框架入门心得 | How to study PHP Laravel Framework
PHP有不少开发框架,其中比较出名的有Symfony和Laravel. 我说说我最近入门Laravel的感受和学习方法吧. 1.第一个感受是Laravel的社区讨论和学习资源真的是太棒了,中文化也做得 ...
- thinkphp框架使用心得
接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...
- Laravel框架内实现api文档:markdown转为html
前后端分离的工作模式于今是非常流行了,前后端工作的对接,就离开不了API文档的辅助. 根据自己以往的工作经历,以及了解的一些资讯,API文档的建立,无非以下几种方式: 1. word文档模板 2. 第 ...
- [php]laravel框架容器管理的一些要点
本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...
- php的laravel框架快速集成微信登录
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...
- laravel 框架使用总结 limit
后台开发就是数据的各种处理很多时候需要做到分页,但是在laravel中使用limit做分页的时候会出现问题,偏移量和每页的条数放进去好像不好使了 下面推荐给大家一种在laravel框架中非常好用的写法 ...
- laravel框架总结(十) -- 返回值
以前用CI框架对于返回值没有过多关注,但是发现使用laravel框架的时候出现了一些小问题,特意实践总结了一些常用情形,希望对大家有所帮助 先理解几个概念: 1>StdClass 对象=&g ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- [麦先生]Laravel框架实现发送短信验证
今天在做到用户注册和个人中心的安全管理时,我借助实现第三方短信平台在Laravel框架中进行手机验证的设置; 由于我们做的是一个为客户提供医疗咨询和保健品网站,所以对客户个人隐私的保护显得尤为重要, ...
随机推荐
- JS阻塞以及CSS阻塞
一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...
- v9更新栏目缓存提示PHP has encountered a Stack overflow解决方法
原因: 客户在把一些栏目删除或者新增栏目时没更新栏目缓存导致v9_category表里有原来的垃圾信息,多余的表. 解决方法:通过phpmyadmin找到栏目表出错的条目,修改错误信息. 具体步骤: ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- JavaScript 创建一个 form 表单并提交
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- 修改phpstorm的字体样式和大小
默认的字体实在太小,也太丑,必须修改下.就是强迫症,没错.下面截图配文字说明下 方法/步骤 首先进入设置,不解释 先设置软件界面上的字体.进入设置之后,选择(外观)Appearance.之后软 ...
- Example018主页加载时获取焦点
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python如何调用新浪api接口的问题
前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问 ...
- const vector<int> 和 vector<const int>问题讨论
1.const vector <int> vec(10) —— 与const int a[10]是一回事,意思是vec只有10个元素,不能增加了,里面的元素也是不能变化的 vector&l ...
- MySQL数据库Raid存储方案
作为一名DBA,选择自己的数据存储在什么上面,应该是最基本的事情了.但是很多DBA却容易忽略了这一点,我就是其中一个.之前对raid了解的并不多,本文就记录下学习的raid相关知识. 一.RAID的基 ...
- Egret的项目结构
这是我新建的一个Egret EUI项目 .wing文件夹是项目的配置文件 bin-debug 文件夹,项目编译和运行的debug目录 libs 文件夹,存放库文件,包括 Egret 核心库,其他扩展库 ...