Laravel控制器簡單總結
阿新 • • 發佈:2019-02-19
控制器一般儲存在app/controllers
目錄下,所有的控制器都要繼承BaseController
類。BaseController
類也儲存在app\controllers
下,通常用來放置公用的控制器邏輯。BaseController
類繼承自框架的Controller
類。
在終端新建控制器和指定操作:
php artisan controller:make PostController --only='index,show'
基礎控制器
- 基礎控制器例子
<?php
class UserController extends BaseController {
public function showUser($username)
{
return 'My name is '.$username;
}
}
- 在路由中呼叫控制器
Route::get('user/{username}', 'UserController@showuser');
RESTful控制器
- RESTful控制器例子
class UserController extends BaseController {
public function getIndex()
{
//
}
public function postProfile()
{
//
}
public function anyLogin()
{
//
}
}
- 在路由中使用
Route::controller
方法定義路由
Route::controller('users', 'UserController');
資源控制器
資源控制器讓圍繞資源構建的RESTful控制器變得更加簡單。
- 在終端新建控制器
php artisan controller:make PhotoController
- 資源控制器例子
<?php
class PhotoController extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @return Response
*/
public function update($id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/
public function destroy($id)
{
//
}
}
- 在路由中使用
Route::resource()
方法定義路由
Route::resource('photo', 'PhotoController');