碰到个问题,在后端设置了session只在浏览器打开期间生效,如果关闭了浏览器则session失效。
标签归档:Laravel
Nginx部署同域名下Laravel/Lumen和react完全前后端分离
背景
重构一个项目,本来用的是Laravel全栈式开发,现重构成react前端和Laravel后端的完全分离的方式,使用Nginx部署在同域名下。
Laravel5覆盖ViewComposer变量
View composers 是当视图被渲染时的回调或类方法。如果你有一些数据要在视图每次渲染时都做绑定,可以使用View composers 将逻辑组织到一个单独的地方。
Laravel5.x的Eloquent返回树形结构
有时候要做树形结构,Laravel的Eloquent可以很方便地递归查询,并返回结果。
Laravel5模型的关联删除(cascading deletes)
开发过程中,用Laravel的自带软删除(Soft Deleting)模式,此时如果关联外键删除是不可行的,而且又不想用数据库的事件促发关联表更新的话,可以使用Laravel的Model的deleted事件进行更新。 继续阅读Laravel5模型的关联删除(cascading deletes)
Laravel5软删除(SoftDeletes)的deleted_at改造
正常来说数据库最好不要做真正的硬删除操作,所以可以改用柔和的软删除。也就是在数据库增加一个字段,比如is_deleted,如果是0的时候表示正常,1表示已被删除。
使用软删除可能碰到的问题:如果表中有UNIQUE索引的字段,比如User表的username,被软删除后,username已经被占用了,新的数据不能使用该username。解决方法是,定义联合索引唯一约束,即UNIQUE KEY username_INDEX (username)改成UNIQUE KEY username_INDEX (username, is_deleted)。
看上去问题好像解决了,但是新的问题:如果username被第二次软删除,is_deleted为1的也被占用了。进一步的解决方法是把is_deleted定义为,当0值时表示未删除,非0表示被删除并且是一个自增ID或者时间戳或者UUID,那么就能保证唯一性。
搭建Docker+Nginx+PHP+Laravel运行环境
关于Docker+Nginx+PHP的运行环境,参考我之前的博文《搭建DOCKER+NGINX+TOMCAT+PHP+MYSQL运行环境》
但是如果要运行Laravel框架,还需要做更多的操作。
Laravel5利用中间件修改请求参数
Laravel5开发package实例教程
经过一阵摸索,终于学会了开发Laravel的package,在此做做笔记备忘:-)
[转]Laravel5服务容器、依赖注入、控制反转
网上看到一篇非常好的博文,关于Laravel5的服务容器(Service Container),依赖注入(DI),控制反转(IoC)等概念的讲解,比较通俗易懂。