创建项目
laravel new blog //创建项目名为blog的laravel项目
设置key
php artisan key:generate
运行结果:
路由重定向
Route::redirect('/here', '/there', 301);
正则表达式约束路由
Route::put('menu/{id}','MenuController@update')->where('id','[1-9][0-9]*');
Route::get('user/{id}/{name}', function ($id, $name) {
//
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
创建中间件
php artisan make:middleware CheckAge
这个命令将会在app/Http/Middleware 目录下创建一个CheckAge类。在这个中间件内,我们仅允许提供的参数age大于200的请求访问该路由。否则我们会将用户重定向到home中去。
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAge
{
public function handle($request, Closure $next)
{
if($request->age <=200) {
return redirect('home');
}
return $next($request); //用$request参数调用回调函数$next,会让通过中间件验证的请求继续传递到应用程序中
}
}
中间件,即一系列HTTP请求必须经历的过程,只有通过了每一层的检查,才能触发你的应用层,不符合条件的会直接完全拒绝掉。
控制器中间件
class UserController extends UserController{
public function __construct(){
$this->middleware('auth');
$this->middleware('log')->only('index'); //约束中间件只对index方法起作用
$this->middleware('subscribed')->expect('store'); //除了store方法之外的其他方法设置中间件
}
}