本文實(shí)例講述了Laravel框架路由和控制器的綁定操作方法。分享給大家供大家參考,具體如下:
路由和控制器的關(guān)系
路由文件地址在\app\Http\routes.php,我們來(lái)看兩種不同的路由。
Route::get('/', function () { return view('welcome'); }); Route::get('/hi', function () { return 'hello world'; });
以上均為綁定匿名函數(shù)的路由,雖然可以返回視圖,也可以返回字符串,但本質(zhì)都是一樣的。
Route::get('/blog','BlogController@index'); Route::get('/post/{slug}','BlogController@showPost');
這兩種是綁定控制器的路由,控制器類BlogController下有兩個(gè)函數(shù),index和showPost,可以調(diào)用。
那么問(wèn)題來(lái)了,究竟應(yīng)該選用哪種?
你不可能把復(fù)雜的業(yè)務(wù)邏輯都寫在一個(gè)匿名函數(shù)里,所以你要學(xué)會(huì)新建控制器。
Route::get('/mvc', 'MyController@hello');
添加新控制器
控制器文件夾地址在Laravel文件夾下\app\Http\Controllers,我們繼續(xù)使用artisan控制臺(tái)創(chuàng)建一個(gè)新控制器
php artisan make:controller MyController
然后,回到控制器目錄,一份新的MyController.php文件被創(chuàng)建了,代碼如下:
?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; class MyController extends Controller { // }
我們修改MyController類,同時(shí)再創(chuàng)建一個(gè)視圖。
?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; class MyController extends Controller { public function hello() { return View('myview'); } }
如果這么寫,就意味著一旦用戶訪問(wèn)URL:laravel/public/mvc,路由就會(huì)交給MyController控制器的hello函數(shù),hello函數(shù)返回myview視圖,即返回myview.blade.php
我們看看myview.blade.php的代碼
@extends('layouts.app') @section('content') div class="container"> div class="row"> div class="col-md-10 col-md-offset-1"> div class="panel panel-default"> div class="panel-heading">{{ $d1 }}/div> div class="panel-body"> this is my view! /div> /div> /div> /div> /div> @endsection
這里的{{ $d1 }}
希望用一個(gè)變量的值來(lái)代替,所以,我們把MyController控制器修改為
class MyController extends Controller { public function hello() { return View('myview',['d1'=>'a1']); } }
更多關(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ì)有所幫助。
標(biāo)簽:泰州 張家口 梅州 林芝 成都 山東 巴中 威海
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel框架路由和控制器的綁定操作方法》,本文關(guān)鍵詞 Laravel,框架,路由,和,控制器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。