W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
這里是一個(gè)基礎(chǔ)控制器類的例子:
<?php namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class UserController extends Controller {
/**
* 顯示所給定的用戶個(gè)人數(shù)據(jù)。
*
* @param int $id
* @return Response
*/
public function showProfile($id)
{
return view('user.profile', ['user' => User::findOrFail($id)]);
}
}
我們可以通過(guò)如下方式引導(dǎo)路由至對(duì)應(yīng)的控制器動(dòng)作:
Route::get('user/{id}', 'UserController@showProfile');
注意: 所有的控制器都應(yīng)該擴(kuò)展基礎(chǔ)控制器類。
有一點(diǎn)非常重要,那就是我們無(wú)需指明完整的控制器命名空間,在類名稱中 App\Http\Controllers 之后的部分即可用于表示「根」命名空間。 RouteServiceProvider 默認(rèn)會(huì)在包含根控制器命名空間的路由群組中,加載 routes.php 此文件。
若你要在 App\Http\Controllers 此目錄深層使用 PHP 命名空間以嵌套化或組織你的控制器,只要使用相對(duì)于 App\Http\Controllers 根命名空間的特定類名稱即可。因此,若你的控制器類全名為 App\Http\Controllers\Photos\AdminController,你可以像這樣注冊(cè)一個(gè)路由:
Route::get('foo', 'Photos\AdminController@method');
和閉包路由一樣,你也可以指定控制器路由的名稱。
Route::get('foo', ['uses' => 'FooController@method', 'as' => 'name']);
要產(chǎn)生一個(gè)指向控制器行為的 URL,可使用 action 輔助方法。
$url = action('App\Http\Controllers\FooController@method');
若你想僅使用相對(duì)于控制器命名空間的類名稱中的一部分,來(lái)產(chǎn)生指向控制器行為的 URL,可用 URL 產(chǎn)生器注冊(cè)控制器的根命名空間。
URL::setRootControllerNamespace('App\Http\Controllers');
$url = action('FooController@method');
你可以使用 currentRouteAction 方法來(lái)獲取正在執(zhí)行的控制器行為名稱:
$action = Route::currentRouteAction();
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: