Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能示例
本文實(shí)例講述了Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能。分享給大家供大家參考,具體如下:
作為世界上第一的PHP框架,學(xué)習(xí)Laraver勢(shì)在必行,雖然國(guó)內(nèi)盛行ThinkPHP,但是多會(huì)一個(gè)框架總是對(duì)自己有好處的.
通過(guò)前面的文章Laravel框架在本地虛擬機(jī)快速安裝的方法,我們已經(jīng)可以順利安裝Laravel
安裝之后,在目錄laravel\app\Http下,有一個(gè)routes.php文件,重點(diǎn)了,這個(gè)就是控制全站的路由文件.
Route::get('/', function () { return view('welcome'); });
以上就是簡(jiǎn)單的一個(gè)路由,如果你綁定了路由,并且開(kāi)啟了apche和nginx的偽靜態(tài),你可以通過(guò)域名http:xxx.com/來(lái)訪問(wèn)
然后會(huì)出現(xiàn)漂亮的Laraver界面.
那么return指的是什么呢,就是返回一個(gè)視圖文件,Laraver的視圖文件在laravel\resources\views下面.Laraver規(guī)定視圖文件名以.blade.php結(jié)尾,通常我們?cè)谧鲰?xiàng)目的時(shí)候需要視圖很多,所以我們可以在views下面定義很多目錄,然后在
return view('index.index');
都是可以的.表示視圖下面目錄下的視圖文件,很多框架都是這樣的,只不過(guò)文件名命名會(huì)有區(qū)別.
以上只是一個(gè)簡(jiǎn)單的路由調(diào)用了匿名函數(shù),那么如何結(jié)合控制來(lái)用呢.
Laraver的控制器目錄在laravel\app\Http\Controllers下面,你可以通過(guò)Laraver自帶的
php artisen make:controller UseController
命令來(lái)創(chuàng)建控制器,并且里面已經(jīng)生成了常用的方法,假如我們?cè)诳刂频膇ndex方法下輸出內(nèi)容
如果需要沒(méi)有任何定義的控制器,請(qǐng)?jiān)诤竺婕由?--plain參數(shù)即可
但是如何訪問(wèn)呢,請(qǐng)看代碼
Route::get('/','UseController@index');
這個(gè)例子就是將當(dāng)前的目錄'/'綁定到了控制器UseController下的index方法
Route::get('/about','UseController@about');
再比如這樣,我們可以http:xxx.com/about來(lái)訪問(wèn)指定的控制下面的方法
這里的get有很多,比如需要使用post等等,以后會(huì)陸續(xù)接觸.
那么還有一個(gè)問(wèn)題,這樣每次都要定義的一個(gè)路由是不是非常的麻煩呢,所以Laraver允許我們使用隱式控制器
Route::controller('User','UserController');
這樣就是訪問(wèn)User下的任何一個(gè)方法,無(wú)需指定路由,但是這樣的話切記要在方法中遵循以下格式
get或者post等指定傳遞方式+Index,方法名第一個(gè)要大寫,傳參的話,要在function($a),在function里面寫上.
分類變量到blade模板,這里注意,和thinkphp框架不同,我們常用以下幾種方法:
1:
假如
$name = 'php artisen';
你可以在
return view('index')=>with('name',$name);
然后在模板中使用{{ $name }}來(lái)解析分配的變量.
以上方法就等同于
return view('index',['a'=>'b']);
不過(guò)這里在模板中解析的時(shí)候依然要使用{{ $a }} 來(lái)分配變量
2:
如果
$articles = DB::table('user')->get();
利用數(shù)據(jù)庫(kù)查詢得出的結(jié)果
也見(jiàn)有人推薦這種寫法
return view('user.dashboard.index', compact('articles'));
不過(guò)這都是個(gè)人操作習(xí)慣.
在使用compact
函數(shù)的情況下,我們就直接可以遍歷
$data = ['a','b','c'];
在使用
@foreach($data as $v)
的情況下,就可以直接使用{{ $v }}來(lái)遍歷了
3:
當(dāng)然我們常用都是分配數(shù)組或?qū)ο筮^(guò)來(lái).所以一般使用以下方法
你可以在
return view('index',$data);
需要注意的是,默認(rèn)在config下database.php中的PDO 'fetch' => PDO::FETCH_ASSOC,中默認(rèn)是為FETCH_CLASS為對(duì)象格式
所以在遍歷的時(shí)候,如果沒(méi)有修改默認(rèn)設(shè)置,則遍歷時(shí)為{{ $a->v }}這種,如果是數(shù)組的時(shí)候,則是{{ $a['v'] }}
關(guān)于加載中的轉(zhuǎn)義和不轉(zhuǎn)義,舉例如下:
$a = '<span style="color:red">this Laravel</span>';
{{ $a }} 輸出
<span style="color:red">this Laravel</span>
{{!! $aa !!}} 輸出紅色字體的
'this Laravel'
知識(shí)點(diǎn),如果加載的變量是一維數(shù)組,在模板中輸出為{{ $鍵名 }},舉例:
$data['a'] = 'this'; $data['n'] = 'that'; return view('sites.my',$data);
則在模板中
<p>我是$data分配過(guò)來(lái)的變量{{ $a }}</p>
這樣才行,不可以使用
$data['a']
更多關(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框架路由配置總結(jié)、設(shè)置技巧大全
- Laravel中獲取路由參數(shù)Route Parameters的五種方法示例
- Laravel最佳分割路由文件(routes.php)的方式
- 修改Laravel5.3中的路由文件與路徑
- Laravel 4 初級(jí)教程之視圖、命名空間、路由
- Laravel 5框架學(xué)習(xí)之路由、控制器和視圖簡(jiǎn)介
- Laravel框架路由和控制器的綁定操作方法
- Laravel框架控制器,視圖及模型操作圖文詳解
- laravel通過(guò)a標(biāo)簽從視圖向控制器實(shí)現(xiàn)傳值
- laravel框架模型、視圖與控制器簡(jiǎn)單操作示例
- Laravel 5框架學(xué)習(xí)之模型、控制器、視圖基礎(chǔ)流程
- Laravel框架路由與MVC實(shí)例詳解
相關(guān)文章
destoon二次開(kāi)發(fā)常用數(shù)據(jù)庫(kù)操作
這篇文章主要介紹了destoon二次開(kāi)發(fā)常用數(shù)據(jù)庫(kù)操作,需要的朋友可以參考下2014-06-06php shell超強(qiáng)免殺、減少體積工具實(shí)現(xiàn)代碼
這不是webshell,只是個(gè)webshell免殺工具,切勿當(dāng)初webshell使用,僅限免殺phpwebshell2012-10-10Zend Framework框架的數(shù)據(jù)庫(kù)追蹤器使用示例
這篇文章主要介紹了Zend Framework框架的數(shù)據(jù)庫(kù)追蹤器使用示例,現(xiàn)把追蹤器的使用方法分享給大家,需要的朋友可以參考下2014-03-03ThinkPHP模板判斷輸出Empty標(biāo)簽用法詳解
這篇文章主要介紹了ThinkPHP模板判斷輸出Empty標(biāo)簽用法,需要的朋友可以參考下2014-06-06Laravel框架學(xué)習(xí)筆記(一)環(huán)境搭建
本文主要是把自己學(xué)習(xí)Laravel框架中的經(jīng)驗(yàn)寫下來(lái)。這是本系列的第一篇,工欲善其事必先利其器,先把環(huán)境搭建好吧,之前也沒(méi)寫過(guò)什么文章,可能文章結(jié)構(gòu)比較混亂,想到那寫到哪。2014-10-10