Laravel框架中的路由和控制器操作實(shí)例分析
本文實(shí)例講述了Laravel框架中的路由和控制器操作。分享給大家供大家參考,具體如下:
路由
- 簡介:
- 將用戶的請求轉(zhuǎn)發(fā)給相應(yīng)的程序進(jìn)行處理
- 作用:建立url和程序之間的映射
- 請求類型:get、post、put、patch、delete
- 目錄:app/http/routes.php
- 基本路由:接收單種請求類型
//get請求 Route::get('hello1',function(){ return 'hello world'; })
//post請求 Route::post('hello2',function(){ return 'hello world'; })
- 多請求路由:接收多種請求類型
//get、post請求 //match用來匹配指定請求的類型 Route::match(['get','post'],'mulity',function(){ return 'mulity request'; }) //any匹配所有類型的請求 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'); });
控制器
- 簡介
- 將請求邏輯交由控制類處理,而不是都交給一個(gè)routes.php文件
- 控制器可以將相應(yīng)的php請求邏輯集合到一個(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 訪問控制器,利用 PHP 的命名空間機(jī)制以嵌套的方式組織控制器在 App\Http\Controllers 目錄下的結(jié)構(gòu)的話,引用類時(shí)只需指定相對于 App\Http\Controllers 根命名空間的類名即可
//@后面內(nèi)容為所要訪問的方法 Route::get('foo', 'Photos\AdminController@method'); //也可以指定控制器路由的名稱 Route::get('foo', ['uses' => 'FooController@method', 'as' => 'name']); //通過助手方法來生成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)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
- Laravel 5框架學(xué)習(xí)之模型、控制器、視圖基礎(chǔ)流程
- Laravel5.1數(shù)據(jù)庫連接、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建model及創(chuàng)建控制器的方法
- Laravel 5框架學(xué)習(xí)之路由、控制器和視圖簡介
- Laravel框架路由和控制器的綁定操作方法
- Laravel重定向,a鏈接跳轉(zhuǎn),控制器跳轉(zhuǎn)示例
- laravel通過a標(biāo)簽從視圖向控制器實(shí)現(xiàn)傳值
- Laravel框架控制器的middleware中間件用法分析
- Laravel框架控制器的request與response用法示例
- laravel框架模型、視圖與控制器簡單操作示例
- laravel框架中控制器的創(chuàng)建和使用方法分析
- Laravel框架控制器,視圖及模型操作圖文詳解
- Laravel 框架控制器 Controller原理與用法實(shí)例分析
相關(guān)文章
利用phpexcel把excel導(dǎo)入數(shù)據(jù)庫和數(shù)據(jù)庫導(dǎo)出excel實(shí)現(xiàn)
本文介紹利用phpexcel對數(shù)據(jù)庫數(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的也不少,接下來,小編給大家整理關(guān)于ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法,小伙伴們一起來學(xué)習(xí)吧2015-08-08PHP實(shí)現(xiàn)微信提現(xiàn)功能(微信商城)
這篇文章主要介紹了PHP實(shí)現(xiàn)微信提現(xiàn)功能,此類功能在微信商城中經(jīng)常會(huì)用到,今天小編通過實(shí)例代碼給大家講解,需要的朋友可以參考下2019-11-11php支付寶手機(jī)網(wǎng)頁支付類實(shí)例
這篇文章主要介紹了php支付寶手機(jī)網(wǎng)頁支付類實(shí)例,是基于Yii框架使用的支付寶接口類文件,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03PHP判斷表達(dá)式中括號(hào)是否匹配的簡單實(shí)例
下面小編就為大家?guī)硪黄狿HP判斷表達(dá)式中括號(hào)是否匹配的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧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