Laravel視圖

Laravel視圖

在MVC框架中,字母 V 代表 Views 。它分離了應(yīng)用程序邏輯和表示邏輯。視圖存儲在 resources / views 目錄中。通常,該視圖包含將由應(yīng)用程序提供的HTML。

觀察下面的例子來更多地了解視圖 -

第1步 - 復(fù)制以下代碼并將其保存在 resources / views / test.php

<html>
   <body>
      <h1>Hello, World</h1>
   </body>
</html>

第2步 - 在 app / Http / routes.php 文件中添加以下行以設(shè)置上述視圖的路線。

應(yīng)用程序/ HTTP / routes.php文件

Route::get('/test', function(){
   return view('test');
});

第3步 - 訪問以下URL以查看視圖的輸出。

http://localhost:8000/test

第4步 - 輸出將如下圖所示。

了解視圖

 

將數(shù)據(jù)傳遞給視圖

在構(gòu)建應(yīng)用程序時,可能需要將數(shù)據(jù)傳遞給視圖。傳遞一個數(shù)組來查看幫助函數(shù)。在傳遞數(shù)組之后,我們可以使用該鍵來獲取HTML文件中該鍵的值。

觀察以下示例以更多地了解如何將數(shù)據(jù)傳遞到視圖 -

第1步 - 復(fù)制以下代碼并將其保存在 resources / views / test.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

第2步 - 在 app / Http / routes.php 文件中添加以下行以設(shè)置上述視圖的路線。

應(yīng)用程序/ HTTP / routes.php文件

Route::get('/test', function(){
   return view('test',[‘name’=>’Virat Gandhi’]);
});

第3步 - 密鑰名稱的值將被傳遞給test.php文件,$ name將被該值替換。

第4步 - 訪問以下URL以查看視圖的輸出。

http://localhost:8000/test

第5步 - 輸出將顯示如下圖所示。

Virat甘地

 

與所有視圖共享數(shù)據(jù)

我們已經(jīng)看到了如何將數(shù)據(jù)傳遞給視圖,但有時需要將數(shù)據(jù)傳遞給所有視圖。Laravel使這更簡單。有一種叫做 share() 的方法可以用于這個目的。該股份() 方法將兩個參數(shù),鍵和值。通??梢詮姆?wù)提供者的啟動方法調(diào)用 share() 方法。我們可以使用任何服務(wù)提供商,AppServiceProvider 或我們自己的服務(wù)提供商。

請觀察以下示例以了解有關(guān)與所有視圖共享數(shù)據(jù)的更多信息 -

第1步 - 在 app / Http / routes.php 文件中添加以下行。

應(yīng)用程序/ HTTP / routes.php文件

Route::get('/test', function(){
   return view('test');
});

Route::get('/test2', function(){
   return view('test2');
});

第2步 - 用相同的代碼創(chuàng)建兩個視圖文件 - test.php 和 test2.php 。這些是將共享數(shù)據(jù)的兩個文件。在這兩個文件中復(fù)制以下代碼。 resources / views / test.php&resources / views / test2.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

第3步 - 更改文件 app / Providers / AppServiceProvider.php中 的引導(dǎo)方法代碼,如下所示。(在這里,我們使用了share方法,我們傳遞的數(shù)據(jù)將與所有視圖共享。) app / Providers / AppServiceProvider.php

<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider {

   /**
      * Bootstrap any application services.
      *
      * @return void
   */

   public function boot(){
      view()->share('name', 'Virat Gandhi');
   }

   /**
      * Register any application services.
      *
      * @return void
   */

   public function register(){
      //
   }
}

第4步 - 訪問 以下網(wǎng)址。

http://localhost:8000/test
http://localhost:8000/test2

第5步 - 輸出將顯示如下圖所示。

Virat甘地

Laravel 5.1引入了使用 Blade 的概念,這是一種模板引擎,用于設(shè)計獨特的布局。這樣設(shè)計的布局可以被其他視圖使用,并且包括一致的設(shè)計和結(jié)構(gòu)。與其他模板引擎相比,Blade在以下方面具有獨特之處 - ...

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频