校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Laravel5.5 視圖 - 創建視圖和數據傳遞示例

Laravel5.5 視圖 - 創建視圖和數據傳遞示例

熱門標簽:太原極信防封電銷卡 天津營銷電話機器人加盟代理 南寧crm外呼系統平臺 電銷招聘機器人 格陵蘭島地圖標注 福泉電話機器人 事業單位如何百度地圖標注 熱線電話機器人 地圖標注入哪個科目

創建視圖

視圖包含應用的 HTML 代碼,并將應用的控制器邏輯和表現邏輯進行分離。視圖文件存放在 resources/views 目錄中。下面是一個簡單的視圖示例:

!-- resources/views/greeting.blade.php 視圖文件 -->
 
html>
  body>
    h1>Hello, {{ $name }}/h1>
  /body>
/html>

可以通過輔助函數 view ,返回這個視圖響應:

Route::get('/', function () {
  return view('greeting', ['name' => 'jack']);
});

view 方法的第一個參數是 resources/views 目錄下相應的視圖文件的名稱,第二個參數是一個數組,表示傳遞給視圖文件的數據。

在這個例子中,我們傳遞了一個 name 變量,在視圖中通過使用 Blade 語法將其顯示出來。

當然,視圖還可以存放在 resources/views 的子目錄中,用“.”號來引用子目錄中的視圖。

例如,如果視圖存放路徑是 resources/views/admin/profile.blade.php,那么我們可以這樣引用它:

return view('admin.profile', $data);

判斷視圖是否存在

如果需要判斷視圖是否存在,可調用 View 門面上的 exists 方法,如果視圖存在則返回 true:

use Illuminate\Support\Facades\View;
 
if (View::exists('emails.customer')) {
  //
}

創建第一個有效視圖

調用 View 門面上的 first 方法,可以用于創建給定視圖數組中的第一個存在的視圖:

use Illuminate\Support\Facades\View;
 
return View::first(['custom.admin', 'admin'], $data);

這個功能在應用或擴展包允許視圖被自定義或覆蓋時很有用。

傳遞數據到視圖

可以簡單通過數組方式將數據傳遞到視圖:

return view('greeting', ['name' => 'jack']);

除此之外,還可以通過 with 方法傳遞獨立的數據片段到視圖:

$view = view('greeting')->with('name', 'jack');

在視圖間共享數據

有時候,我們需要在所有視圖之間共享數據片段,這時可以使用視圖門面的 share 方法,通常,需要在某個服務提供者的 boot 方法中調用 share 方法,你可以將其添加到 AppServiceProvider 或生成獨立的服務提供者來存放這段代碼邏輯:

?php
 
namespace App\Providers;
 
use View;
 
class AppServiceProvider extends ServiceProvider
{
  /**
   * 啟動所有應用服務
   *
   * @return void
   */
  public function boot()
  {
    View::share('key', 'value');
  }
 
  /**
   * 注冊服務提供者
   *
   * @return void
   */
  public function register()
  {
    //
  }
}

視圖 Composer

視圖 Composer 是當視圖被渲染時的回調函數或類方法。

如果你有一些數據需要在視圖每次渲染時都做綁定,可以使用視圖 Composer 將邏輯組織到一個單獨的地方。

在本例中,首先要在某個服務提供者中注冊視圖 Composer,我們將會使用 View 門面來訪問 Illuminate\Contracts\View\Factory 的底層實現,記住,Laravel 不會包含默認的視圖 Composer 目錄,我們可以按照自己的喜好組織其路徑,例如可以創建一個 app/Http/ViewComposers 目錄:

?php
 
namespace App\Providers;
 
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
 
class ComposerServiceProvider extends ServiceProvider
{
  /**
   * 在容器中注冊綁定.
   *
   * @return void
   */
  public function boot()
  {
    // 使用基于類方法的 composers...
    View::composer(
      'profile', 'App\Http\ViewComposers\ProfileComposer'
    );
 
    // 使用基于回調函數的 composers...
    View::composer('dashboard', function ($view) {});
  }
 
  /**
   * 注冊服務提供者.
   *
   * @return void
   */
  public function register()
  {
    //
  }
}

注:如果創建一個新的服務提供者來包含視圖 Composer 注冊,需要添加該服務提供者到配置文件 config/app.php 的 providers 數組中。

現在我們已經注冊了視圖 Composer,每次 profile 視圖被渲染時都會執行 ProfileComposer@compose 方法,接下來我們來定義該 Composer 類:

?php
 
namespace App\Http\ViewComposers;
 
use Illuminate\View\View;
use Illuminate\Repositories\UserRepository;
 
class ProfileComposer
{
  /**
   * 用戶倉庫實現.
   *
   * @var UserRepository
   */
  protected $users;
 
  /**
   * 創建一個新的屬性composer.
   *
   * @param UserRepository $users
   * @return void
   */
  public function __construct(UserRepository $users)
  {
    // 依賴注入通過服務容器自動解析...
    $this->users = $users;
  }
 
  /**
   * 綁定數據到視圖.
   *
   * @param View $view
   * @return void
   */
  public function compose(View $view)
  {
    $view->with('count', $this->users->count());
  }
}

視圖被渲染前,Composer 類的 compose 方法被調用,同時 Illuminate\View\View 實例被注入該方法,從而可以使用其 with 方法來綁定數據到視圖。

注:所有視圖 Composer 都通過服務容器被解析,所以你可以在 Composer 類的構造函數中聲明任何你需要的依賴。

添加 Composer 到多個視圖

你可以傳遞視圖數組作為 composer 方法的第一個參數來一次性將視圖 Composer 添加到多個視圖:

View::composer(
  ['profile', 'dashboard'],
  'App\Http\ViewComposers\MyViewComposer'
);
composer 方法還支持 * 通配符,允許將一個 Composer 添加到所有視圖:

View::composer('*', function ($view) {
  //
});

視圖創建器

視圖創建器和視圖 Composer 非常類似,不同之處在于前者在視圖實例化之后立即失效而不是等到視圖即將渲染。

使用 View 門面的 creator 方法即可注冊一個視圖創建器:

View::creator('profile', 'App\Http\ViewCreators\ProfileCreator');

以上這篇Laravel5.5 視圖 - 創建視圖和數據傳遞示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel 5框架學習之向視圖傳送數據
  • Laravel 5框架學習之模型、控制器、視圖基礎流程
  • Laravel 5框架學習之向視圖傳送數據(進階篇)
  • Laravel 5框架學習之路由、控制器和視圖簡介
  • Laravel 5框架學習之子視圖和表單復用
  • Laravel框架實現多個視圖共享相同數據的方法詳解
  • laravel框架模型、視圖與控制器簡單操作示例
  • laravel通過a標簽從視圖向控制器實現傳值
  • Laravel實現通過blade模板引擎渲染視圖
  • laravel框架中視圖的基本使用方法分析

標簽:郴州 阿克蘇 自貢 佳木斯 香港 金華 寶雞 通化

巨人網絡通訊聲明:本文標題《Laravel5.5 視圖 - 創建視圖和數據傳遞示例》,本文關鍵詞  Laravel5.5,視圖,創建,和,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel5.5 視圖 - 創建視圖和數據傳遞示例》相關的同類信息!
  • 本頁收集關于Laravel5.5 視圖 - 創建視圖和數據傳遞示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲一区二区精品3399| 中文字幕精品一区二区精品绿巨人| 在线观看视频一区二区| 精品一区二区三区日韩| 亚洲美腿欧美偷拍| 国产午夜精品久久| 在线成人免费视频| 欧美伊人精品成人久久综合97| 久久 天天综合| 日本视频一区二区| 亚洲电影一区二区| 亚洲制服丝袜一区| 日韩美女视频一区| 日本一区二区电影| 久久久国产精品麻豆| 日韩精品一区二区三区老鸭窝| 欧亚一区二区三区| 9191精品国产综合久久久久久| 国产不卡视频在线观看| 日韩激情一二三区| 日韩av高清在线观看| 亚洲综合色自拍一区| 亚洲一区电影777| 一区二区三区日韩欧美| 亚洲1区2区3区视频| 五月天中文字幕一区二区| 亚洲国产精品自拍| 日本欧美在线观看| 免费人成在线不卡| 国产真实乱子伦精品视频| 久久精品国产99国产| 精品中文字幕一区二区| 国产专区欧美精品| 91老师国产黑色丝袜在线| 色av一区二区| 精品美女一区二区| 国产精品女人毛片| 午夜精品久久久久久久久久| 蜜臀av性久久久久av蜜臀妖精| 韩国精品一区二区| 成人激情av网| 日韩欧美综合在线| 国产色91在线| 亚洲国产成人av好男人在线观看| 美腿丝袜亚洲一区| 91豆麻精品91久久久久久| 精品国产欧美一区二区| 国产欧美精品一区| 亚洲韩国一区二区三区| 狠狠色丁香久久婷婷综合_中 | 精久久久久久久久久久| 99国产精品久久久久久久久久| 欧美日韩国产电影| 自拍偷自拍亚洲精品播放| 久久精品国产精品亚洲红杏| 99久久99久久精品免费观看| 欧美大片一区二区| 亚洲aaa精品| 欧洲精品视频在线观看| 欧美国产禁国产网站cc| 日本成人中文字幕| 在线观看av一区| 1000部国产精品成人观看| 紧缚奴在线一区二区三区| 欧美电影影音先锋| 亚洲已满18点击进入久久| 国产白丝网站精品污在线入口| 欧美一区二区三区四区高清| 亚洲国产美女搞黄色| 欧美在线高清视频| 亚洲另类色综合网站| 91蜜桃在线观看| 亚洲欧洲综合另类在线| 欧美日韩午夜精品| 午夜电影网亚洲视频| 欧美日韩一区二区在线观看视频| 亚洲一区二区在线播放相泽| 欧美最新大片在线看| 日韩电影免费在线观看网站| 欧美高清一级片在线| 久国产精品韩国三级视频| www亚洲一区| aaa国产一区| 亚洲va欧美va人人爽| 91精品国产乱| 岛国精品在线观看| 亚洲免费资源在线播放| 欧美久久高跟鞋激| 九九国产精品视频| 亚洲婷婷在线视频| 91精品国产高清一区二区三区 | 在线观看免费一区| 久久不见久久见免费视频7| 精品粉嫩aⅴ一区二区三区四区| 国产精品一品视频| 樱桃视频在线观看一区| 日韩一区二区免费在线观看| 豆国产96在线|亚洲| 亚洲国产aⅴ天堂久久| 国产三级一区二区| 欧美三级韩国三级日本三斤| 国产精品小仙女| 亚洲第一av色| 欧美经典一区二区| 欧美一级免费观看| 91老师片黄在线观看| 国产呦精品一区二区三区网站| 一区二区三区四区亚洲| 久久精品视频一区| 日韩欧美一二区| 欧美羞羞免费网站| 欧美视频中文字幕| 99久久精品国产一区二区三区| 日韩高清在线电影| 婷婷综合在线观看| 亚洲一区免费观看| 亚洲丝袜自拍清纯另类| 国产精品视频线看| 欧美国产一区二区| 日本一区二区三区四区在线视频| 91精品综合久久久久久| 欧美日精品一区视频| 91福利区一区二区三区| 色婷婷综合久久| 91啦中文在线观看| 欧美在线视频日韩| 欧美日韩久久久久久| 欧美日韩免费高清一区色橹橹| 欧洲精品视频在线观看| 欧美性猛交xxxx乱大交退制版| 91极品视觉盛宴| 欧美日本在线观看| 欧美成人一区二区三区| 久久尤物电影视频在线观看| 久久九九影视网| 亚洲品质自拍视频| 日韩激情在线观看| 国产馆精品极品| 91啪九色porn原创视频在线观看| 91黄色小视频| 日韩精品中文字幕一区| 久久久久久夜精品精品免费| 中文字幕一区在线观看| 亚洲成人一二三| 国产一区三区三区| 95精品视频在线| 91精品国产乱| 中文字幕一区二区日韩精品绯色| 亚洲成av人片| 99国产精品99久久久久久| 中文字幕av在线一区二区三区| 亚洲美女淫视频| 精品在线播放午夜| 欧美在线色视频| 国产精品视频一二三区| 麻豆高清免费国产一区| 91年精品国产| 欧美国产视频在线| 捆绑调教美女网站视频一区| 在线观看国产91| 国产精品久久久久久福利一牛影视 | 成人av网站免费| 日韩午夜av电影| 亚洲1区2区3区视频| 99久久国产综合精品麻豆| 久久久噜噜噜久久中文字幕色伊伊| 一区二区三区久久久| av不卡一区二区三区| 日本一区二区三区免费乱视频 | 久久精品久久精品| 777xxx欧美| 午夜免费欧美电影| 欧美午夜一区二区| 亚洲色图欧美在线| 欧美一区二区精美| 亚洲成人午夜影院| 在线不卡的av| 青青青爽久久午夜综合久久午夜| 欧美日韩不卡视频| 日韩精品欧美精品| 欧美一级电影网站| 久久99精品国产| 欧美激情中文不卡| fc2成人免费人成在线观看播放| 中文天堂在线一区| 91精品福利在线| 日韩影院免费视频| 国产三级精品视频| 成人av电影在线观看| 曰韩精品一区二区| 91精品国产91久久综合桃花 | 久久99蜜桃精品| 国产精品乱人伦| 欧美日韩一区二区欧美激情| 午夜精品在线视频一区| 久久久亚洲精华液精华液精华液 | av亚洲精华国产精华精华| 亚洲日本成人在线观看| 51精品视频一区二区三区| 国产一区二区女|