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 ...
随机推荐
- Web项目测试流程总结
个人知识脑图总结 - 未完全(工作项目脑图总结存于网盘中)
- C#Linq之求和,平均值,最大值,最小值
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- python numpy 的用法——diag函数
当 np.diag(array) 中 array是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵 array是一个二维矩阵时,结果输出矩阵的对角线元素
- PS 中混合模式
1.正常模式 2. 溶解 3. 变暗 : 把两幅图中较暗的区域显示出来 4.正片叠底 总体变暗,把图层中较浅的颜色由下一图层较深的颜色显现(和滤色相反) 7. 深色 取较小的颜色 8. ...
- vue学习(3)-增删改查
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- urllib.parse:很底层,但是是一个处理url路径的好模块
介绍 urllib.parse是为urllib包下面的一个模块,urllib的其它模块完全可以使用requests替代.但是urlli.parse我们是有必要了解的,因为该模块下面有很多操作url路径 ...
- mysql服务启动失败
#!/bin/bash . /etc/rc.d/init.d/functions MPORT=`netstat -atnlp | grep 3306| wc -l` MPROC=`ps ax | gr ...
- AlertDialog 对话框 5种
MainActivity.class public class MainActivity extends AppCompatActivity implements View.OnClickListen ...
- JSON parse error: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.58; nested exception is com.alibaba.fastjson.JSONExcetion: syntax error, except {, actual error, pos ...
这个报错信息告诉你,你提交的参数需要是json类型.所以,POST请求携带的数据需要序列化一下json.dumps(data).
- Visual Studio 2019社区版:错误 MSB6006 “CL.exe”已退出,代码为 2
系统:win10 环境:Visual Studio 2019社区版 问题:错误 MSB6006 “CL.exe”已退出,代码为 2 解决方法: 1 一个类内部的定义返回类型为double的方法种没有写 ...