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 ...
随机推荐
- Linux系列(6):入门之文件与目录管理
你知道常见的目录操作吗? 知道如何查询文件内容吗? 了解 umask 指令吗,知道如何查看和设置文件的默认权限吗? 知道文件的隐藏属性吗,了解如何设置(chattr指令)并查看(lsattr指令)吗? ...
- hadoop-InputFormat-Split-任务并行度
首先来看 MapReduce 流程图 一个 map,一个 reduce,中间靠 shuffle 连接,shuffle 左边被划分到 map,右边被划分到 reduce InputFormat inpu ...
- iptables笔记
一.内核转发 *永久开启转发 sysctl -w net.ipv4.ip_forward=1 *查看当前 cat /proc/sys/net/ipv4/ip_forward * 暂时开启 echo 1 ...
- git回退
以前,如果是要去除某一块功能,我都是选择性删除,选择性注释,然后前后逻辑各种查看,各种比较.每一次,改完这些我总感觉心好累啊!!!然后,我就发现了 Git 一个非常强大的功能:回滚.当然我还是喜欢叫它 ...
- 【原创】大叔经验分享(69)docker启动java应用的时区问题
在docker中启动tomcat或java类应用,获取时间默认是UTC时间,这是因为容器内的locale没有设置为东8区,最简单的方式是增加JAVA_OPTS 如果是java,直接在java命令后增加 ...
- 无障碍开发(四)之ARIA aria-***状态值
aria-***状态值
- Kendall tau距离(即两个内容相同的数组中逆序数对的数量)(算法》P220 第2.5.3.2小节)
一组排列就是一组N个整数的数组,其中0~N-1的每个数都只出现一次.两个排列之间的 Kendall tau距离就是在两组排列中相对顺序不同的数对的数目.例如,0 3 1 6 2 5 4和1 0 3 6 ...
- 01 Go之环境搭建
1.1 Linux搭建Go环境 1.ssh远程登录Linux服务器,可选用iTerm.xshell ssh root@ip 2.建议配置好阿里云yum源.epel源 安装git yum install ...
- Spring与junit4集成测试
一.应用场景:普通java web集成spring test, 项目结构:使用的是加入jar的方式,不是maven加入依赖的方式 注意:如果是引入jar包的方式,例如:spring-test4.0.5 ...
- 2.vi 和 vim 编辑器
Linux系统的命令行下的文本编辑器 三种模式 一般模式:打开文档的默认模式 编辑模式 可以进行编辑,要按下 i a o r 等字母后才能从一般模式进入编辑模式 按下ESC 退出编辑模式 命令 ...