Laravel 5 基础(三)- 向视图传送数据

WBOY
Freigeben: 2016-08-08 09:26:53
Original
949 Leute haben es durchsucht
  • 我们在Routes.php中新建一个路由
<code>Route::get('about', 'PagesController@about');</code>
Nach dem Login kopieren

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

  • 在项目的根目录找到 .env 文件,修改
<code>APP_DEBUG=true</code>
Nach dem Login kopieren

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

  • 我们可以手工新建控制器,但更快的方式是利用 laravel 提供的生成器。在命令行当前项目目录中运行:
<code>php artisan</code>
Nach dem Login kopieren

可以看到laravel提供的功能。

<code>php artisan make:controller PagesController</code>
Nach dem Login kopieren

ok,在 app->http->controller 下面生成了 PagesController.php

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

}</code></code>
Nach dem Login kopieren

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

<code>php artisan make:controller PagesController --plain</code>
Nach dem Login kopieren

再看一下生成的结果

<code><?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class PagesController extends Controller {

	//

}</code></code>
Nach dem Login kopieren

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

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

<code>php artisan help make:controller</code>
Nach dem Login kopieren

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

  • 在PagesController中建立about方法。
<code>	public function about() {
        return 'About Page';
    }</code>
Nach dem Login kopieren

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

  • 返回视图

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

<code>	public function about() {
        return view('pages.about');
    }</code>
Nach dem Login kopieren

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

<code>


    <meta charset="UTF-8">
    <title>Document</title>


<h1>About</h1>

</code>
Nach dem Login kopieren

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

  • 向视图传送数据

修改PagesController.php

<code>	public function about() {
        $name = 'Zhang Jinlgin';
        return view('pages.about')->with('name', $name);
    }</code>
Nach dem Login kopieren

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

<code><h1>About = $name ?></h1></code>
Nach dem Login kopieren

Bingo,查看结果吧。

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

<code><h1>About {{ $name }}</h1></code>
Nach dem Login kopieren

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

<code>$name = '<span style="color: red">Zhang Jinlgin</span>';</code>
Nach dem Login kopieren

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

<code><h1>About {!! $name !!}</h1></code>
Nach dem Login kopieren

再看结果,??

以上就介绍了Laravel 5 基础(三)- 向视图传送数据,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!