本文實例講述了Laravel框架路由和控制器的綁定操作方法。分享給大家供大家參考,具體如下:
路由和控制器的關系
路由文件地址在/app/Http/routes.php,我們來看兩種不同的路由。
Route::get( / , function () { return view( welcome Route::get( /hi , function () { return hello world });
以上均為綁定匿名函數的路由,雖然可以返回視圖,也可以返回字符串,但本質都是一樣的。
Route::get( /blog , BlogController@index Route::get( /post/{slug} , BlogController@showPost
這兩種是綁定控制器的路由,控制器類BlogController下有兩個函數,index和showPost,可以調用。
那么問題來了,究竟應該選用哪種?
你不可能把復雜的業務邏輯都寫在一個匿名函數里,所以你要學會新建控制器。
Route::get( /mvc , MyController@hello
添加新控制器
控制器文件夾地址在Laravel文件夾下/app/Http/Controllers,我們繼續使用artisan控制臺創建一個新控制器
php artisan make:controller MyController
然后,回到控制器目錄,一份新的MyController.php文件被創建了,代碼如下:
?phpnamespace App/Http/Controllers;use Illuminate/Http/Request;use App/Http/Requests;html' target='_blank'>class MyController extends Controller}
我們修改MyController類,同時再創建一個視圖。
?phpnamespace App/Http/Controllers;use Illuminate/Http/Request;use App/Http/Requests;class MyController extends Controller public function hello() return View( myview }
如果這么寫,就意味著一旦用戶訪問URL:laravel/public/mvc,路由就會交給MyController控制器的hello函數,hello函數返回myview視圖,即返回myview.blade.php
我們看看myview.blade.php的代碼
@extends( layouts.app )@section( content ) p >這里的{{ $d1 }}希望用一個變量的值來代替,所以,我們把MyController控制器修改為
class MyController extends Controller public function hello() return View( myview ,[ d1 = a1 }以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
Laravel框架實現分頁的分析
對于Laravel框架的生命周期與原理分析
Laravel框架的路由設置
以上就是關于Laravel框架路由和控制器的綁定操作的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答