// 合并输入,如果有相同的key,用户输入的值会被替换掉,否则追加到 input
$request->merge(['foo' => 'bar', ....]);
// 替换所有输入
$request->replace([..])
// 设置某参数,如果存在则替换,否则新增
$request['foo'] = 'bar';
// 移除某参数
unset($request['foo'])
标签归档:laravel
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 方式命名
Laravel 怎样实现 隐式路由
自动匹配 [模块 /控制器 /方法]:
Route::any('/{module}/{class}/{action}', function($module, $class, $action) {
$ctrl = \App::make("\\App\\Http\\Controllers\\{$module}\\{$class}Controller");
return \App::call([$ctrl, $action]);
});
composer 安装 laravel 和 lumen
laravel 6.0
- PHP >= 7.2.0
- BCMath PHP 拓展
- Ctype PHP 拓展
- JSON PHP 拓展
- Mbstring PHP 拓展
- OpenSSL PHP 拓展
- PDO PHP 拓展
- Tokenizer PHP 拓展
- XML PHP 拓展
创建新项目,blog是项目名(文件夹名)
// 使用 laravel/install
composer global require laravel/installer
laravel new blog
// 创建特定版本 laravel 时,使用 composer
composer create-project --prefer-dist laravel/laravel blog "6.0.*"
composer create-project --prefer-dist laravel/laravel:^9 blog
lumen
// 使用 laravel/lumen-installer
composer global require "laravel/lumen-installer"
lumen new blog
// 创建特定版本 laravel 时,使用 composer
composer create-project --prefer-dist laravel/lumen blog
继续阅读