laravel中遇到的坑
已经遇到的坑和未来可能遇到的坑都将在这里写出来:
- 在资源控制器中创建新的方法后(如果资源控制器中的7个方法无法满足你的需求时,你就会创建新的方法),接下来就是创建路由,这个时候注意了,你必须要把路由放在资源路由的上面,否则连firbug都不显示错误。fuck!
Route::get('user/del','Admin\UserController@delAll');//开始我放在下面,找了半天答案,fuck
//全是坑坑坑,,必须是Admin\ 而不能是Admin/
Route::resource('user','Admin\UserController');还有写资源控制器的路由时候,那个斜杠必须时 \ 就是上面代码那样写。
在博客分类中,主键用cate_id排序出错,但是主键换成id,再用find查询数据库就OK了.
出现的是下面错误:记录一些自己在项目中容易忘记的:
(1)当在项目中引入自己的类或者第三方类文件的时候,不要忘记 composer dump-autoload 不然类是不会起作用的。
(2)User::find() 参数默认是主键id
(3)当需要使用数据库时候,除了配置database.php文件里的mysql相关参数外,不要忘记配置.env文件里的数据库相关参数
(4)模板替换后,要把html改成blade.php不然找不到页面
(5)不能用var_dump()打印$request,太可怕了,内存都不够了。可以用dd()输出$request,正确做法是先$input接受$request->all();再打印$input。
(6)删除的时候,在用ajax发送数据时,因为删除和修改都是post方式,这里容易混淆,记住在data数据里传一个{"_method":"delete"}或者{"_method=delete"}就意味着是访问destroy方法;如果是通过表单提交数据而非ajax,则可以使用{{ method_field('PUT') }}来伪造。删除则用{{method_field('delete')}}
(7)RBAC,修改用户拥有的角色或者修改角色拥有的权限时,一定要先删除原有的数据,不然会导致数据重复。比如一个用户多个重复的角色。(这个和修改某一条数据不同,注意区分)
(8)授权中间件:获取当前请求的路由对应的控制器方法名:\Route::current()->getActionName(); //还有要特别注意的是授权中间件是需要连接数据库的,如果每次访问一个页面查询一次数据库就为了判断是否有权限,很显然性能差,解决方法之一是在用户登录的时候,查询用户拥有的权限,然后把权限存储到session中,这样每次判断用户权限的时候就不需要查询数据库了。
(9)分类排序:因为是遍历的数据,所以应该用行内触发事件,用其他的方式触发不了,应该是它无法识别你改变的是哪一个文本框的值。如果想要获取值,需要在传参的时候,传一个this对象。记住:所有遍历的元素,如果想实现触发事件,都应该使用行内js。
(10)修改文章的时候,由于使用百度编辑器,导致存到数据库的content是带有html标签的,那么显示出来的时候需要去掉html标签,laravel框架中使用 {!! 变量名 !!} 就搞定了!哇塞我查了好半天。{{}}不能把html标签转义,而{!! !!}能够把html标签转义。
(11)修改文章重新上传图片后,要删除原来的图片不需要在控制器方法中做处理,直接在ajax上传成功的回调函数中删除即可。需要在回调函数再次发送ajax,js或者jq是客户端语言,图片是在服务器端,要删除图片必须是服务器脚本语言才能删除。
laravel中遇到的坑的更多相关文章
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- Laravel中Redis的使用
安装 laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包: composer require predis/predis 配置 redis的配置文件是 ...
- 整理iOS9适配中出现的坑(图文)
原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文) 本文主要是说一些iOS9适配中出现的坑,如果只是要 ...
- laravel中日志为daily时如何设置最大保存天数
在laravel中,日志设置为daily时,默认保存七天的日志,超过则清除七天前的日志.可修改默认的设置,假如要保存30天的日志,则配置如下: 在配置文件config/app.php中添加如下代码: ...
- laravel中的错误与日志
日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: 把monolog中的addInfo等函数简化成为了info这样的函数 增加了useFiles和useDa ...
- Nancy总结(二)记一次Nancy 框架中遇到的坑
记一次Nancy 框架中遇到的坑 前几天,公司一个项目运行很久的Nancy框架的网站,遇到了一个很诡异的问题.Session 对象跳转到另外一个页面的时候,session对象被清空了,导致用户登录不上 ...
- 整理 iOS 9 适配中出现的坑(图文)(转)
作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...
- laravel中的$request对象构造及请求生命周期
laravel应用程序中index.php是所有请求的入口.当用户提交一个form或者访问一个网页时,首先由kernel捕捉到该session PHP运行环境下的用户数据, 生成一个request对象 ...
- cron以及在laravel中使用cron
yum install vixie-cron yum install crontabs /bin/systemctl restart crond.service #启动服务 /bin/systemct ...
随机推荐
- (五)Java秒杀项目之页面优化
一.页面缓存+URL缓存+对象缓存 1.通过加缓存来减少对数据库的访问 2.步骤: 取缓存 手动渲染模版 结果输出 3.页面缓存和URL缓存的过期时间比较短,比较适合变化不大的场景,比如商品列表页.而 ...
- MySQL如何利用索引优化ORDER BY排序语
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...
- 用python实现自己的http服务器——多进程、多线程、协程、单进程非堵塞版、epoll版
了解http协议 http请求头 GET / HTTP/1.1 Host: www.baidu.com Connection: keep-alive Pragma: no-cache Cache-Co ...
- c#调用带用户名密码验证的wsdl
之前记录过一篇添加带验证的webservice,但是公司的另一个项目是.net framework2.0的项目,没有服务引用,只能添加web引用. 现在记录和分享一下方法: 先添加web引用,选择ws ...
- VS2019 快捷键
工欲善其事,必先利其器,整理了下VS最常用的快捷键,查看了不少资料,汇总了下,没有的自己补充,可以打印,用Excel编辑的. 可编辑版本下载:Excel文件下载 你可能需要查询其他的快捷键,MSDN介 ...
- webpack开启本地服务器与热更新
第一个webpack本地服务 webpack本地服务相关的一些操作指令与应用 一.第一个webpack本地服务 //工作区间 src//文件夹 index.js//入口文件 index.css//测试 ...
- CSS总结六:动画(一)ransition:过渡、animation:动画、贝塞尔曲线、step值的应用
transition-property transition-duration transition-timing-function transition-delay animation-name a ...
- 云端js动态效果
效果图: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- OpenStreetMap全球库
https://www.loveyu.org/5344.html https://www.jianshu.com/p/957aa4a933d7 https://blog.csdn.net/mrib/a ...
- Flink接收RabbitMQ数据写入到Oracle
文件内容 项目案例: https://github.com/TaoPanfeng/case/tree/master/03-flink/flink-rabbitmq-oracle FlinkMain.j ...