Home  >  Article  >  Backend Development  >  Laravel 5框架学习之向视图传送数据_PHP

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

WBOY
WBOYOriginal
2016-05-30 08:48:03861browse

我们在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

<&#63;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

再看一下生成的结果

代码如下:


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 文件

代码如下:





   
    Document


About




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

向视图传送数据

修改PagesController.php

代码如下:


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

修改我们的视图文件 about.blade.php

代码如下:


About


Bingo,查看结果吧。

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

代码如下:


About {{ $name }}


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

代码如下:


$name = 'Zhang Jinlgin';

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

代码如下:


About {!! $name !!}


再看结果,👌

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn