月度归档:2018年04月

laravel 的 $request 改值操作

// 合并输入,如果有相同的key,用户输入的值会被替换掉,否则追加到 input
request->merge(['foo' => 'bar', ....]);  // 替换所有输入 request->replace([..])

// 设置某参数,如果存在则替换,否则新增
request['foo'] = 'bar';  // 移除某参数 unset(request['foo'])

laravel 的表单验证

使用 request 注入验证时,获取路由中的参数:

// 获取当前需要排除的id,这里的 user 是 路由 {} 中的参数
id = this->route('user');

字段唯一性同时排除指定ID验证:

// unique:表名,字段,需要排除的ID
'user' => 'required|unique:users,user,' . $id

匹配字段验证(如输入两次密码是否一致):

'password' => 'required|min:8|confirmed',
'password_confirmation' => 'required' // 可选验证规则,但名称一定要使用 +_confirmation 方式命名

配置ssh登录别名

在使用 ssh 或 scp 时,通常使用 ssh -p 22 -i /path/to/pem user@hostname,如果主机名太长,或是 pem 文件太深,输入时很不方便,其实可以配置别名来简化输入。

编辑或创建文件 ~/.ssh/config,输入以下内容:

Host server
 User user
 HostName ipaddress_or_hostname
 IdentityFile /path/to/pem
 port 22

不需要的参数(例如 IdentityFile)可以不写,允许添加多个别名配置

使用方法:

# 登录到服务器
ssh server
# 复制文件
scp ~/file server:~/

debian系安装fcitx输入法

$ sudo apt-get install fcitx fcitx-ui-classic fcitx-config-gtk2 fcitx-frontend-gtk* fcitx-frontend-qt* fcitx-table-wbpy fcitx-sunpinyin fcitx-module-cloudpinyin

安装完后默认云拼音使用 google 方案,但是国内可能不能用,可以选用 baidu 方案。