Laravel 5.3 中使用Authorizatioin Middleware时,参数不能正确解析

Laravel 5.3 的 Authorization 使用非常方便,一般的用法是在 Controller 中手动调用.

1
2
3
if ($user->can('view', $post)) {
}

这已经非常方便了,但是 Laravel 还提供了一种更方便的方法,使用 Middleware 在 Route 中 authorization.
但是我按官方文档上的说明进行调用,参数总不能正确解析:

1
Route::get('/posts/{post}', 'PostController@show')->middleware('can:view,post');

通过这样调用,Controller 中接到的参数仍然是 post id, 是个数字。

放狗搜了一下才知道,原来是需要先使用 Middleware bings 来对参数进行绑定。代码如下:

1
Route::get('/posts/{post}', 'PostController@show')->middleware('bindings', 'can:view,post');

一试果然管用。

VIM白天用Dark背景,晚上用Light背景

启动vim的时候,根据现在的时间是白天还是晚上,应用不同的背景。
打开.vimrc。

1
2
3
4
5
if strftime("%H") > 6 && strftime("%H") < 18
set background=dark
else
set background=light
endif

这只会在启动vim的时候启用不同的背景。如果是vim从白天打开,到晚上一直没有关,背景也不会有变化。所以下一步我们就是要解决这个问题。
每次用vim写代码,:w用的很多。所以我们在每次保存文件的时候,执行一次~/.vimrc文件。

1
2
3
if has('autocmd')
autocmd bufwritepost * source ~/.vimrc
endif

至此,已经完成。

Vim粘贴代码格式乱的问题

从别的地方往vim里复制内容的时候,尤其是代码,会因为vim的缩进,造成格式全都乱掉。
后来才发现,vim里有一个这样的命令来解决这个问题。

1
:set paste

进入粘贴模式,这个时候缩进不再起作用。复制粘贴完之后。

1
:set nopaste

回到正常模式。
粘贴模式是为了让vim区分用户键盘打入的内容与粘贴内容的区别。

GitHub Blog启程了

好久没有写博客了,原因是自己太懒,没有总结落实成文字的习惯。以前一直用的csdn,写过一些文章,也转过一些文章,后来由于懒,就没再更新。现在决定要开始写些东西了,就索性转到github上来好了,也学一些Markdown!

下面记一下博客搭建过程:

GitHub

用GitHub很久了,找些开源库,写些小项目什么的,工作中也一直用git来做版本管理,因此这些先略过不表

Hexo框架

Hexo是一个快速、简洁且高效的博客框架。支持Markdown解析文章,因此就选了Hexo

安装

这之前需要先安装Node.js

1
2
npm install -g hexo-cli
npm install hexo --save

初始化配置

安装好后,进入博客根目录,执行以下命令

1
hexo init

本地调试

执行以下命令,成功后按说明在浏览器中打开

1
hexo server

Hexo简写命令

1
2
3
hexo n #new
hexo g #generate
hexo s #server

本地设置

打开_config.yml,设置发布方式

1
2
deploy:
type: git

在GitHub创建一个项目xxx.github.io

用git clone 到本地

部署静态网页

到本地的xxx.github.io的根目录下,执行

1
2
hexo g
hexo d