Laravel 5框架学习之向视图传送数据

前端之家收集整理的这篇文章主要介绍了Laravel 5框架学习之向视图传送数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_301_0@

我们在Routes.PHP中新建一个路由


@H_301_0@<div class="codetitle"><a style="CURSOR: pointer" data="2618" class="copybut" id="copybut2618" onclick="doCopy('code2618')"> 代码如下:
<div class="codebody" id="code2618">
Route::get('about',<a href="mailto:'PagesController@about'">'PagesController@about');

在浏览器中浏览会获得一个错误,错误信息仅仅是一个提示信息,缺少细节,在生产环境 It' ok,但是开发阶段我们希望获得详细信息。

在项目的根目录找到 .env 文件,修改

代码如下:

@H_301_0@这将显示详细的错误信息,PagesController 不存在。但在生产环境一定要设置为 false

@H_301_0@我们可以手工新建控制器,但更快的方式是利用 laravel 提供的生成器。在命令行当前项目目录中运行:

@H_301_0@
代码如下:
PHP artisan

@H_301_0@可以看到laravel提供的功能

@H_301_0@
代码如下:
PHP artisan make:controller PagesController

@H_301_0@ok,在 app->http->controller 下面生成了 PagesController.PHP

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)
    {
    //
    }

}

@H_301_0@这样生成的controller包含了全部所需要的RESTful方法,我们可以简化一下。删除生成的PagesController.PHP,在命令行运行:

@H_301_0@
代码如下:
PHP artisan make:controller PagesController --plain

@H_301_0@再看一下生成的结果

@H_301_0@
代码如下:
PHP namespace App\Http\Controllers; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class PagesController extends Controller { // }

@H_301_0@基本上是一个空的controller,所有的方法我们需要自己创建。

@H_301_0@如果你想知道到底有什么参数我们可以在命令行执行,你可以运行下面的命令来查看帮助

@H_301_0@
代码如下:
PHP artisan help make:controller

@H_301_0@ok,你可以经常使用help命令来帮助你了解这些参数。

@H_301_0@在PagesController中建立about方法

@H_301_0@
代码如下:

@H_301_0@在浏览器冲查看结果,错误消失,返回简单的信息。

@H_301_0@

返回视图

@H_301_0@我们当然希望返回html文档,修改about方法的返回:

@H_301_0@
代码如下:

@H_301_0@注意:返回的结果是 pages.about ,这表示在 views 子目录中的 pages 子目录中的 about.balde.PHP 文件。让我们创建 resources\views\pages\about.balde.PHP 文件

@H_301_0@
代码如下:
<Meta charset="UTF-8"> Document

About

@H_301_0@That's it. 运行浏览器查看吧,😄

@H_301_0@

向视图传送数据

@H_301_0@修改PagesController.PHP

@H_301_0@
代码如下:
with('name',$name); }

@H_301_0@修改我们的视图文件 about.blade.PHP

@H_301_0@
代码如下:
About

@H_301_0@Bingo,查看结果吧。

@H_301_0@我们使用的laravel使用了blade模板,我们可以利用这个好处修改视图:

@H_301_0@
代码如下:
About {{ $name }}

@H_301_0@看起来更好了,在blade中,{{}}是转义html的语义的,让我来修改一个数据:

@H_301_0@
代码如下:

@H_301_0@查看结果,发现所有的html元素都被转义了。但是如果不需要转义html,可以使用 {!! !!},修改视图:

@H_301_0@
代码如下:
About {!! $name !!}

@H_301_0@再看结果,👌

@H_301_0@以上所述就是本文的全部内容了,希望能够对大家熟练掌握Laravel5有所帮助。

猜你在找的Laravel相关文章