小編給大家分享一下laravel中路由定義與控制器綁定的示例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)絡(luò)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、麻栗坡網(wǎng)站維護(hù)、網(wǎng)站推廣。我們知道,網(wǎng)絡(luò)中的路由器是用來(lái)選擇路徑、轉(zhuǎn)發(fā)分組的,那么框架中的路由是用來(lái)干嘛的呢?這里的路由是用來(lái)接收http請(qǐng)求的路徑,通過(guò)設(shè)置路徑來(lái)訪問(wèn)特定程序的功能。路由是框架的核心功能之一,基本所有主流框架都有路由功能。并且,我們可以通過(guò)設(shè)置路由來(lái)將一些長(zhǎng)的、深的路徑該成短的、淺的路徑(非常利于seo的一個(gè)功能)。
默認(rèn)路由文件
所有的laravel路由都在根目錄的routes目錄下的路由文件定義,框架默認(rèn)自動(dòng)加載這個(gè)目錄下的文件。我們看看routes/web.php這個(gè)文件
use Illuminate\Support\Facades\Route; Route::get('/', function () { return view('welcome'); });
基本路由
現(xiàn)在,我們?cè)趙eb.php文件中,新建一個(gè)最簡(jiǎn)單的路由,代碼如下:
Route::get('index', function () { return "study laravel"; });
現(xiàn)在,我們?cè)跒g覽器中輸入localhost:8000/index就可以看到"study laravel"這句話了。
常見(jiàn)路由方法
除了上述了get方法外,經(jīng)常使用的路由方法有:post,put,delete,any,match。
這里的any方法表示不管是什么請(qǐng)求方式都可以,可以是get/post/put等請(qǐng)求方式,它都處理。而match可以用來(lái)指定多個(gè)請(qǐng)求,下面來(lái)演示match的用法:
Route::match(['get', 'post'], "list", function () { return 'list'; });
參數(shù)傳遞
經(jīng)常的,我們?cè)诼酚芍羞€會(huì)加入?yún)?shù)。比如/news/1這樣是非常的常見(jiàn)。lavarel的路由方法支持參數(shù)的傳遞,如:
Route::get('news/{id}', function ($id) { return 'news:' . $id; });
上述的路由雖然能夠傳遞參數(shù),但還是不能滿(mǎn)足我的需求,我希望{id}這個(gè)參數(shù)必須是數(shù)字,那么,可以這樣:
Route::get('news/{id}', function ($id) { return 'news:' . $id; })->where('id', '\d+');
我們還可以傳遞多個(gè)參數(shù),閉包中的參數(shù)會(huì)自動(dòng)一一對(duì)應(yīng),如:
Route::get('/name/{name}/age/{age}', function($name, $age) { echo "name:$name age:$age"; })->where(['name' => '\w+', 'age' => '\d+']);
路由與控制器綁定
首先,我們創(chuàng)建一個(gè)控制器文件app\Http\Controllers\IndexController.php,代碼如下:
現(xiàn)在修改路由文件web.php
Route::get('news/{id}', 'IndexController@news')->where('id', '\d+');現(xiàn)在通過(guò)/news/1就能訪問(wèn)到IndexController控制器中的news方法了。
若創(chuàng)建了app/Http/Controllers/Home/IndexController.php,那么這個(gè)控制器的路由該如何設(shè)置呢?方法如下:
Route::get('home', 'Home\IndexController@index');看完了這篇文章,相信你對(duì)laravel中路由定義與控制器綁定的示例分析有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享名稱(chēng):laravel中路由定義與控制器綁定的示例分析-創(chuàng)新互聯(lián)
鏈接URL:http://weahome.cn/article/ddedii.html