Laravel框架中的路由和控制器操作實(shí)例分析
本文實(shí)例講述了Laravel框架中的路由和控制器操作。分享給大家供大家參考,具體如下:
路由
- 簡(jiǎn)介:
- 將用戶的請(qǐng)求轉(zhuǎn)發(fā)給相應(yīng)的程序進(jìn)行處理
- 作用:建立url和程序之間的映射
- 請(qǐng)求類型:get、post、put、patch、delete
- 目錄:app/http/routes.php
- 基本路由:接收單種請(qǐng)求類型
//get請(qǐng)求 Route::get('hello1',function(){ return 'hello world'; })
//post請(qǐng)求 Route::post('hello2',function(){ return 'hello world'; })
- 多請(qǐng)求路由:接收多種請(qǐng)求類型
//get、post請(qǐng)求 //match用來(lái)匹配指定請(qǐng)求的類型 Route::match(['get','post'],'mulity',function(){ return 'mulity request'; }) //any匹配所有類型的請(qǐng)求 Route::any('mulity2',function(){ return 'mulity2 request'; })
- 路由參數(shù)
Route::get('user/{id}', function ($id) { return 'User '.$id;}); Route::get(‘user/{name?}',function($name = null){ Return ‘name'.$name}); Route::get('user/{name}', function ($name) { //})->where('name', '[A-Za-z]+'); Route::get('user/{id}', function ($id) { //})->where('id', '[0-9]+'); Route::get('user/{id}/{name}', function ($id, $name) { //})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
- 路由別名
Route::get('user/profile', ['as' => 'profile', function () { //}]);
- 路由群組
//路由前綴 Route::group(['prefix' => 'admin'], function () { Route::get('users', function () { // Matches The "/admin/users" URL });});
- 路由輸出視圖
Route::get('/', function () { return view('welcome'); });
控制器
- 簡(jiǎn)介
- 將請(qǐng)求邏輯交由控制類處理,而不是都交給一個(gè)routes.php文件
- 控制器可以將相應(yīng)的php請(qǐng)求邏輯集合到一個(gè)類中
- 存放位置app/Http/Controllers
- 基礎(chǔ)控制器:在laravel中,默認(rèn)所有的控制器都繼承了控制器基類
<?php //使用命名空間 namespace App\Http\Controllers; use App\User; use App\Http\Controllers\Controller; class UserController extends Controller { /** * 顯示指定用戶的個(gè)人信息 * * @param int $id * @return Response */ public function showProfile($id) { return view('user.profile', ['user' => User::findOrFail($id)]); } }
- route 訪問(wèn)控制器,利用 PHP 的命名空間機(jī)制以嵌套的方式組織控制器在 App\Http\Controllers 目錄下的結(jié)構(gòu)的話,引用類時(shí)只需指定相對(duì)于 App\Http\Controllers 根命名空間的類名即可
//@后面內(nèi)容為所要訪問(wèn)的方法 Route::get('foo', 'Photos\AdminController@method'); //也可以指定控制器路由的名稱 Route::get('foo', ['uses' => 'FooController@method', 'as' => 'name']); //通過(guò)助手方法來(lái)生成ur $url = route('name'); //傳參$id Route::get('user/{id}',['uses'=> 'MemberController@info'])->where('id', '[0-9]+');
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
- Laravel 5框架學(xué)習(xí)之模型、控制器、視圖基礎(chǔ)流程
- Laravel5.1數(shù)據(jù)庫(kù)連接、創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建model及創(chuàng)建控制器的方法
- Laravel 5框架學(xué)習(xí)之路由、控制器和視圖簡(jiǎn)介
- Laravel框架路由和控制器的綁定操作方法
- Laravel重定向,a鏈接跳轉(zhuǎn),控制器跳轉(zhuǎn)示例
- laravel通過(guò)a標(biāo)簽從視圖向控制器實(shí)現(xiàn)傳值
- Laravel框架控制器的middleware中間件用法分析
- Laravel框架控制器的request與response用法示例
- laravel框架模型、視圖與控制器簡(jiǎn)單操作示例
- laravel框架中控制器的創(chuàng)建和使用方法分析
- Laravel框架控制器,視圖及模型操作圖文詳解
- Laravel 框架控制器 Controller原理與用法實(shí)例分析
相關(guān)文章
利用phpexcel把excel導(dǎo)入數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)導(dǎo)出excel實(shí)現(xiàn)
本文介紹利用phpexcel對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入excel(excel篩選)、導(dǎo)出excel,大家參考使用吧2014-01-01ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法
程序不斷的更新?lián)Q代,php版本也在不斷的推陳出新,自從php7.0推出,php5.5版本已落伍,但是目前使用php5.5的也不少,接下來(lái),小編給大家整理關(guān)于ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法,小伙伴們一起來(lái)學(xué)習(xí)吧2015-08-08PHP實(shí)現(xiàn)微信提現(xiàn)功能(微信商城)
這篇文章主要介紹了PHP實(shí)現(xiàn)微信提現(xiàn)功能,此類功能在微信商城中經(jīng)常會(huì)用到,今天小編通過(guò)實(shí)例代碼給大家講解,需要的朋友可以參考下2019-11-11php支付寶手機(jī)網(wǎng)頁(yè)支付類實(shí)例
這篇文章主要介紹了php支付寶手機(jī)網(wǎng)頁(yè)支付類實(shí)例,是基于Yii框架使用的支付寶接口類文件,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03PHP判斷表達(dá)式中括號(hào)是否匹配的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇PHP判斷表達(dá)式中括號(hào)是否匹配的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10Yii2基于Ajax自動(dòng)獲取表單數(shù)據(jù)的方法
這篇文章主要介紹了Yii2基于Ajax自動(dòng)獲取表單數(shù)據(jù)的方法,涉及Yii結(jié)合ajax調(diào)用鼠標(biāo)事件動(dòng)態(tài)查詢表單的相關(guān)技巧,需要的朋友可以參考下2016-08-08