Lumen的配置跟Laravel有些区别,虽然也能配置config/app.php这些,但并不是所有配置都能被覆盖,比如APP_TIMEZONE,参考:https://stackoverflow.com/a/49431500
分类目录归档:PHP
PHP丢失Header中的Authorization问题
本地开发用WAMP,当前端发起请求带上token,即在header中带上Authorization:
1 |
Authorization: Bearer my-token-value |
很奇怪的是到了PHP却唯独丢失了这个项。
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,那么就能保证唯一性。
Java和PHP(Laravel)的Bcrypt加密兼容
后端早期使用的是Laravel构建的,用户系统的密码加密方式用的是原生的语法:password_hash
CentOS安装PHP7
yum错误:Error: xz compression not available
今天在一台新的CentOS6服务器上配置PHP环境,用yum的方式安装,碰到问题了:
Error: xz compression not available
PHP发送和接收JSON
用的不多,所以要做做笔记。