Laravel 5.4 入門系列 2. 路由與視圖

2. 路由與視圖

主要知識點:php

  • 從路由到視圖的基本流程html

  • 數據傳遞web

咱們來看看第一講最後的頁面是怎麼出來的。先來看看路由:數組

// /routes/web.php
Route::get('/', function () {
    return view('welcome');
});

用大白話說,就是當咱們訪問網站根目錄的時候,就返回 welcome 視圖,咱們修改下視圖的內容:函數

// /resources/views/welcome.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    你好, Laravel
</body>
</html>

能夠看到,定義返回的視圖時,能夠省略 .blade.php 後綴,該後綴表明使用 Laravel 的 Blade 模板功能,之後會介紹到。網站

如今,再次訪問,變成了咱們定義的內容。code

數據傳遞

咱們在視圖中,也能夠使用變量的形式。首先,在路由的函數中返回給視圖 name 變量:htm

// /routes/web.php
Route::get('/', function () {
    $name = "Zen";
   return view('welcome',['name'=>$name]);
});

也能夠寫成:圖片

// /routes/web.php
Route::get('/', function () {
   $name = "Zen";
   return view('welcome')->with('name',$name);
});

更爲常見的寫法是使用 php 提供的 compact 函數,compact 函數的做用是建立一個包含變量名變量的值的數組,更加靈活和簡便:路由

// /routes/web.php
Route::get('/', function () {
    $name = "Zen";
      $age = 99;
      $sex = "男";
      return view('welcome',compact('name','age','sex'));;
});

在視圖中顯示該變量:

// /resources/views/welcome.blade.php
// 省略
<body>
    你好, <?php echo $name?>
</body>

雖然能夠嵌入 PHP 語言來顯示變量,不過 Laravel 提供了更爲簡潔的語法:

// /resources/views/welcome.blade.php
<body>
   你好, {{ $name }} ,你的年齡是 {{ $age }}, 你的性別是 {{ $sex }}
</body>

或者:

// /resources/views/welcome.blade.php
<body>
   你好, {!! $name !!} ,你的年齡是 {!! $age !!}, 你的性別是 {!! $sex !!}
</body>

這二者有什麼區別呢,看下面的例子:

$data = '<alert>123</alert>'

在視圖中二者的輸出:

  • {{ $data }} 將會輸出 <alert>123</alert>

  • {!! $data !!} 將會輸出警告框

也就是說:

  • {{ 變量名 }} : 轉義輸出

  • {!! 變量名 !!} :原生輸出,好比圖片、連接、js 代碼等

相關文章
相關標籤/搜索