标签归档:laravel

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 方式命名

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
继续阅读