溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Laravel 5中怎么向視圖傳送數(shù)據(jù)

發(fā)布時(shí)間:2021-07-19 14:17:35 來源:億速云 閱讀:131 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹Laravel 5中怎么向視圖傳送數(shù)據(jù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

我們?cè)赗outes.php中新建一個(gè)路由

代碼如下:


Route::get('about', 'PagesController@about');

在瀏覽器中瀏覽會(huì)獲得一個(gè)錯(cuò)誤,錯(cuò)誤信息僅僅是一個(gè)提示信息,缺少細(xì)節(jié),在生產(chǎn)環(huán)境 It' ok,但是開發(fā)階段我們希望獲得詳細(xì)信息。

在項(xiàng)目的根目錄找到 .env 文件,修改

復(fù)制代碼 代碼如下:


APP_DEBUG=true

這將顯示詳細(xì)的錯(cuò)誤信息,PagesController 不存在。但在生產(chǎn)環(huán)境一定要設(shè)置為 false

我們可以手工新建控制器,但更快的方式是利用 laravel 提供的生成器。在命令行當(dāng)前項(xiàng)目目錄中運(yùn)行:

復(fù)制代碼 代碼如下:


php artisan

可以看到laravel提供的功能。

復(fù)制代碼 代碼如下:


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,在命令行運(yùn)行:

復(fù)制代碼 代碼如下:


php artisan make:controller PagesController --plain

再看一下生成的結(jié)果

復(fù)制代碼 代碼如下:


<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class PagesController extends Controller {
 //
}

基本上是一個(gè)空的controller,所有的方法我們需要自己創(chuàng)建。

如果你想知道到底有什么參數(shù)我們可以在命令行執(zhí)行,你可以運(yùn)行下面的命令來查看幫助

復(fù)制代碼 代碼如下:


php artisan help make:controller

ok, 你可以經(jīng)常使用help命令來幫助你了解這些參數(shù)。

在PagesController中建立about方法。

復(fù)制代碼 代碼如下:


 public function about() {
        return 'About Page';
    }

在瀏覽器沖查看結(jié)果,錯(cuò)誤消失,返回簡單的信息。

返回視圖

我們當(dāng)然希望返回html文檔,修改about方法的返回:

復(fù)制代碼 代碼如下:


 public function about() {
        return view('pages.about');
    }

注意:返回的結(jié)果是 pages.about ,這表示在 views 子目錄中的 pages 子目錄中的 about.balde.php 文件。讓我們創(chuàng)建 resources\views\pages\about.balde.php 文件

復(fù)制代碼 代碼如下:


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<h2>About</h2>
</body>
</html>

That's it. 運(yùn)行瀏覽器查看吧,?

向視圖傳送數(shù)據(jù)

修改PagesController.php

復(fù)制代碼 代碼如下:


 public function about() {
        $name = 'Zhang Jinlgin';
        return view('pages.about')->with('name', $name);
    }

修改我們的視圖文件 about.blade.php

復(fù)制代碼 代碼如下:


<h2>About <?= $name ?></h2>

Bingo,查看結(jié)果吧。

我們使用的laravel使用了blade模板,我們可以利用這個(gè)好處修改視圖:

復(fù)制代碼 代碼如下:


<h2>About {{ $name }}</h2>

看起來更好了,在blade中,{{}}是轉(zhuǎn)義html的語義的,讓我來修改一個(gè)數(shù)據(jù):

復(fù)制代碼 代碼如下:


$name = '<span >Zhang Jinlgin</span>';

查看結(jié)果,發(fā)現(xiàn)所有的html元素都被轉(zhuǎn)義了。但是如果不需要轉(zhuǎn)義html,可以使用 {!! !!},修改視圖:

復(fù)制代碼 代碼如下:


<h2>About {!! $name !!}</h2>

關(guān)于Laravel 5中怎么向視圖傳送數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI