本文實例講述了Laravel框架模板加載,分配變量及簡單路由功能。分享給大家供大家參考,具體如下:
作為世界上第一的PHP框架,學習Laraver勢在必行,雖然國內盛行ThinkPHP,但是多會一個框架總是對自己有好處的.
通過前面的文章Laravel框架在本地虛擬機快速安裝的方法,我們已經可以順利安裝Laravel
安裝之后,在目錄laravel\app\Http下,有一個routes.php文件,重點了,這個就是控制全站的路由文件.
Route::get('/', function () {
return view('welcome');
});
以上就是簡單的一個路由,如果你綁定了路由,并且開啟了apche和nginx的偽靜態(tài),你可以通過域名http:xxx.com/來訪問
然后會出現(xiàn)漂亮的Laraver界面.
那么return指的是什么呢,就是返回一個視圖文件,Laraver的視圖文件在laravel\resources\views下面.Laraver規(guī)定視圖文件名以.blade.php結尾,通常我們在做項目的時候需要視圖很多,所以我們可以在views下面定義很多目錄,然后在
return view('index.index');
都是可以的.表示視圖下面目錄下的視圖文件,很多框架都是這樣的,只不過文件名命名會有區(qū)別.
以上只是一個簡單的路由調用了匿名函數(shù),那么如何結合控制來用呢.
Laraver的控制器目錄在laravel\app\Http\Controllers下面,你可以通過Laraver自帶的
php artisen make:controller UseController
命令來創(chuàng)建控制器,并且里面已經生成了常用的方法,假如我們在控制的index方法下輸出內容
如果需要沒有任何定義的控制器,請在后面加上 --plain參數(shù)即可
但是如何訪問呢,請看代碼
Route::get('/','UseController@index');
這個例子就是將當前的目錄'/'綁定到了控制器UseController下的index方法
Route::get('/about','UseController@about');
再比如這樣,我們可以http:xxx.com/about來訪問指定的控制下面的方法
這里的get有很多,比如需要使用post等等,以后會陸續(xù)接觸.
那么還有一個問題,這樣每次都要定義的一個路由是不是非常的麻煩呢,所以Laraver允許我們使用隱式控制器
Route::controller('User','UserController');
這樣就是訪問User下的任何一個方法,無需指定路由,但是這樣的話切記要在方法中遵循以下格式
get或者post等指定傳遞方式+Index,方法名第一個要大寫,傳參的話,要在function($a),在function里面寫上.
分類變量到blade模板,這里注意,和thinkphp框架不同,我們常用以下幾種方法:
1:
假如
你可以在
return view('index')=>with('name',$name);
然后在模板中使用{{ $name }}來解析分配的變量.
以上方法就等同于
return view('index',['a'=>'b']);
不過這里在模板中解析的時候依然要使用{{ $a }} 來分配變量
2:
如果
$articles = DB::table('user')->get();
利用數(shù)據(jù)庫查詢得出的結果
也見有人推薦這種寫法
return view('user.dashboard.index', compact('articles'));
不過這都是個人操作習慣.
在使用compact
函數(shù)的情況下,我們就直接可以遍歷
在使用
的情況下,就可以直接使用{{ $v }}來遍歷了
3:
當然我們常用都是分配數(shù)組或對象過來.所以一般使用以下方法
你可以在
return view('index',$data);
需要注意的是,默認在config下database.php中的PDO 'fetch' => PDO::FETCH_ASSOC,中默認是為FETCH_CLASS為對象格式
所以在遍歷的時候,如果沒有修改默認設置,則遍歷時為{{ $a->v }}這種,如果是數(shù)組的時候,則是{{ $a['v'] }}
關于加載中的轉義和不轉義,舉例如下:
$a = 'span style="color:red">this Laravel/span>';
{{ $a }} 輸出
span style="color:red">this Laravel/span>
{{!! $aa !!}} 輸出紅色字體的
知識點,如果加載的變量是一維數(shù)組,在模板中輸出為{{ $鍵名 }},舉例:
$data['a'] = 'this';
$data['n'] = 'that';
return view('sites.my',$data);
則在模板中
p>我是$data分配過來的變量{{ $a }}/p>
這樣才行,不可以使用
更多關于Laravel相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結》、《php面向對象程序設計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
您可能感興趣的文章:- Laravel框架路由配置總結、設置技巧大全
- Laravel中獲取路由參數(shù)Route Parameters的五種方法示例
- Laravel最佳分割路由文件(routes.php)的方式
- 修改Laravel5.3中的路由文件與路徑
- Laravel 4 初級教程之視圖、命名空間、路由
- Laravel 5框架學習之路由、控制器和視圖簡介
- Laravel框架路由和控制器的綁定操作方法
- Laravel框架控制器,視圖及模型操作圖文詳解
- laravel通過a標簽從視圖向控制器實現(xiàn)傳值
- laravel框架模型、視圖與控制器簡單操作示例
- Laravel 5框架學習之模型、控制器、視圖基礎流程
- Laravel框架路由與MVC實例詳解