国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

Laravel 5框架學習之Blade 簡介

2024-05-04 23:34:01
字體:
來源:轉載
供稿:網友

本文給大家帶來的是Laravel5框架學習系列文章的第4篇,主要向大家簡單介紹下Blade,為什么要介紹它呢,因為laravel的模版引擎采用了blade模版引擎,so....

在多個頁面中我們可能包含相同的內容,像是文件頭,鏈接的css或者js等。我們可以利用布局文件完成這個功能。

讓我們新建一個布局文件,例如 views/layout.blade.php

 

 
  1. <!doctype html> 
  2. <html lang="en"
  3. <head> 
  4. <meta charset="UTF-8"
  5. <title>Document</title> 
  6. <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css"
  7. </head> 
  8. <body> 
  9. <div class="container"
  10. @yield('content'
  11. </div> 
  12. </body> 
  13. </html> 

我們創建了不解的結構,引入了bootstrap,注意 @yield 是blade的布局占位符,未來我們的頁面內容將填充到這里,修改 about.blade.php

 

 
  1. @extends('layout'
  2.  
  3. @section('content'
  4.  
  5. <h1>About {{ $first }} {{ $last }}</h1> 
  6.  
  7. @stop 

上面的代碼表示我們使用布局文件 layout.blade.php, 然后在 content 段中添加內容。

在 routes.php 中添加:

 

 
  1. Route::get('about''PagesController@about'); 
  2. Route::get('contact''PagesController@contact'); 

在 PagesController.php 中添加:

 

 
  1. public function contact() { 
  2. return view('pages.contact'); 

新建視圖 pages/contact.blade.php

 

 
  1. @extends('layout'
  2.  
  3. @section('content'
  4. <h1>Contact Me!</h1> 
  5. @stop 

Check it out!

在布局文件中我們可以添加多個 @yield , 比如在 layout.blade.php 中添加 @yield('footer') :

 

 
  1. <!doctype html> 
  2. <html lang="en"
  3. <head> 
  4. <meta charset="UTF-8"
  5. <title>Document</title> 
  6. <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css"
  7. </head> 
  8. <body> 
  9. <div class="container"
  10. @yield('content'
  11. </div> 
  12.  
  13. @yield('footer'
  14. </body> 
  15. </html> 

比如 contact.blade.php 中有一段腳本,就可以放在這個段中。

 

 
  1. @extends('layout'
  2.  
  3. @section('content'
  4. <h1>Contact Me!</h1> 
  5. @stop 
  6.  
  7. @section('footer'
  8. <script> 
  9. alert('Contact from scritp'
  10. </script> 
  11. @stop 

訪問contact會有對話框,而about仍然是普通顯示

使用 @if 進行判斷

 

 
  1. @extends('layout'
  2.  
  3. @section('content'
  4. @if ($first = 'Zhang'
  5. <h1>Hello, Zhang</h1> 
  6. @else 
  7. <h1>Hello, nobody</h1> 
  8. @endif 
  9. @stop 

也可以視同 @unless 等同于 if !, 還有 @foreach 等。

 

 
  1. public function about() 
  2. $people = [ 
  3. 'zhang san'
  4. 'li si'
  5. 'wang wu' 
  6. ]; 
  7. return view('pages.about', compact('people')); 
  8. @extends('layout'
  9.  
  10. @section('content'
  11. <h1>Person:</h1> 
  12. <ul> 
  13. @foreach($people as $person
  14. <li>{{ $person }}</li> 
  15. @endforeach 
  16. </ul> 
  17. @stop 

有一種情況,數據可能來自數據庫,集合可能是空,像是這樣:

復制代碼代碼如下:

$people = [];

處理這種情況,請添加 @if 處理

 

 
  1. @extends('layout'
  2.  
  3. @section('content'
  4. @if (count($people)) 
  5. <h1>Person:</h1> 
  6. <ul> 
  7. @foreach($people as $person
  8. <li>{{ $person }}</li> 
  9. @endforeach 
  10. </ul> 
  11. @endif 
  12.  
  13. <h2>Other info</h2> 
  14. @stop 

That's better.

以上所述就是本文的全部內容了,希望能夠對大家學習Laravel5有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙胜| 桦甸市| 花莲市| 扶风县| 陇西县| 彰武县| 崇礼县| 舒城县| 马山县| 维西| 桃园县| 晋江市| 化州市| 兰考县| 南汇区| 伊春市| 宁河县| 宣汉县| 永和县| 剑川县| 嘉荫县| 汤原县| 舒兰市| 晋城| 修武县| 息烽县| 临海市| 沾化县| 舞阳县| 大庆市| 鄯善县| 永平县| 南汇区| 雅江县| 斗六市| 诏安县| 宜州市| 黄平县| 西华县| 交城县| 刚察县|