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步 - 輸出將顯示如下圖所示。
與所有視圖共享數(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步 - 輸出將顯示如下圖所示。
Laravel 5.1引入了使用 Blade 的概念,這是一種模板引擎,用于設(shè)計獨特的布局。這樣設(shè)計的布局可以被其他視圖使用,并且包括一致的設(shè)計和結(jié)構(gòu)。與其他模板引擎相比,Blade在以下方面具有獨特之處 - ...
- CodeIgniter 應(yīng)用程序架構(gòu)
- CodeIgniter 錯誤處理
- CodeIgniter 添加JS和CSS
- CakePHP 查看記錄
- CakePHP 更新記錄
- CakePHP 日期和時間
- FuelPHP 架構(gòu)概述
- FuelPHP 主題
- Laravel 安裝
- Laravel 路由
- Laravel 控制器
- Laravel 請求
- Laravel 重定向
- Laravel 錯誤和日志
- Laravel Facades
- Laravel 認(rèn)證
- Laravel 授權(quán)
- Laravel Artisan控制臺
- Laravel 哈希
- Laravel Blade模板