laravel控制器
定义> 所有的逻辑运算可以放在控制器下。
php artisan 命令创建控制器
php artisan make:controller UserController
控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserController extends Controller
{
//
public function show($id)
{
return View('user.show', ['user' => User::findOrFail($id)]);
}
}
路由
Route::get('user/{id}', 'UserController@show’);
控制中间件
(1): 在路由器下控制
Route::any('detail', function(){
// 通过路由名称生成 URL
return 'my url';
})->middleware('checkArticle’);
(2)在控制的构造函数下
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserController extends Controller
{
public function __construct()
{
$this->middleware('token');
}
//
public function show($id)
{
return View('user.show', ['user' => User::findOrFail($id)]);
}
}
可以指定方法
$this->middleware('auth')->only('show'); // 只对该方法生效
$this->middleware('auth')->except('show'); // 对该方法以外的方法生效
资源控制器
php artisan make:controller PostController —resource
注册路由
Route::resources([
'posts' => 'PostController'
]);
请求方式
请求方式
|
URI路径
|
控制器方法
|
路由名称
|
GET
|
/posts
|
index
|
posts.index
|
GET
|
/posts/create
|
create
|
posts.create
|
POST
|
/posts
|
store
|
posts.store
|
GET
|
/posts/{post}
|
show
|
posts.show
|
GET
|
/posts/{post}/edit
|
edit
|
posts.edit
|
PUT/PATCH
|
/posts/{post}
|
update
|
posts.update
|
DELETE
|
/posts/{post}
|
destroy
|
posts.destroy
|