您好,登錄后才能下訂單哦!
這篇文章給大家介紹Laravel 5中怎么向視圖傳送數據,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
我們在Routes.php中新建一個路由
代碼如下:
Route::get('about', 'PagesController@about');
在瀏覽器中瀏覽會獲得一個錯誤,錯誤信息僅僅是一個提示信息,缺少細節,在生產環境 It' ok,但是開發階段我們希望獲得詳細信息。
在項目的根目錄找到 .env 文件,修改
復制代碼 代碼如下:
APP_DEBUG=true
這將顯示詳細的錯誤信息,PagesController 不存在。但在生產環境一定要設置為 false
我們可以手工新建控制器,但更快的方式是利用 laravel 提供的生成器。在命令行當前項目目錄中運行:
復制代碼 代碼如下:
php artisan
可以看到laravel提供的功能。
復制代碼 代碼如下:
php artisan make:controller PagesController
ok,在 app->http->controller 下面生成了 PagesController.php
<?php namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class PagesController extends Controller { /** * Display a listing of the resource. * * @return Response */ public function index() { // } /** * Show the form for creating a new resource. * * @return Response */ public function create() { // } /** * Store a newly created resource in storage. * * @return Response */ public function store() { // } /** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // } }
這樣生成的controller包含了全部所需要的RESTful方法,我們可以簡化一下。刪除生成的PagesController.php,在命令行運行:
復制代碼 代碼如下:
php artisan make:controller PagesController --plain
再看一下生成的結果
復制代碼 代碼如下:
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class PagesController extends Controller {
//
}
基本上是一個空的controller,所有的方法我們需要自己創建。
如果你想知道到底有什么參數我們可以在命令行執行,你可以運行下面的命令來查看幫助
復制代碼 代碼如下:
php artisan help make:controller
ok, 你可以經常使用help命令來幫助你了解這些參數。
在PagesController中建立about方法。
復制代碼 代碼如下:
public function about() {
return 'About Page';
}
在瀏覽器沖查看結果,錯誤消失,返回簡單的信息。
返回視圖
我們當然希望返回html文檔,修改about方法的返回:
復制代碼 代碼如下:
public function about() {
return view('pages.about');
}
注意:返回的結果是 pages.about ,這表示在 views 子目錄中的 pages 子目錄中的 about.balde.php 文件。讓我們創建 resources\views\pages\about.balde.php 文件
復制代碼 代碼如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h2>About</h2>
</body>
</html>
That's it. 運行瀏覽器查看吧,?
向視圖傳送數據
修改PagesController.php
復制代碼 代碼如下:
public function about() {
$name = 'Zhang Jinlgin';
return view('pages.about')->with('name', $name);
}
修改我們的視圖文件 about.blade.php
復制代碼 代碼如下:
<h2>About <?= $name ?></h2>
Bingo,查看結果吧。
我們使用的laravel使用了blade模板,我們可以利用這個好處修改視圖:
復制代碼 代碼如下:
<h2>About {{ $name }}</h2>
看起來更好了,在blade中,{{}}是轉義html的語義的,讓我來修改一個數據:
復制代碼 代碼如下:
$name = '<span >Zhang Jinlgin</span>';
查看結果,發現所有的html元素都被轉義了。但是如果不需要轉義html,可以使用 {!! !!},修改視圖:
復制代碼 代碼如下:
<h2>About {!! $name !!}</h2>
關于Laravel 5中怎么向視圖傳送數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。