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


Posted in PHP onApril 08, 2015

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

<h1>About</h1>

</body>

</html>

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

向视图传送数据

修改PagesController.php

 public function about() {

        $name = 'Zhang Jinlgin';

        return view('pages.about')->with('name', $name);

    }

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

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

Bingo,查看结果吧。

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

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

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

$name = '<span style="color: red">Zhang Jinlgin</span>';

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

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

再看结果,?

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

PHP 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
php 缓存函数代码
Aug 27 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
php实现快速排序法函数代码
Aug 27 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 #PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 #PHP
php生成圆角图片的方法
Apr 07 #PHP
php按单词截取字符串的方法
Apr 07 #PHP
php生成zip文件类实例
Apr 07 #PHP
php生成图片缩略图的方法
Apr 07 #PHP
Nginx下配置codeigniter框架方法
Apr 07 #PHP
You might like
PHP+MYSQL的文章管理系统(一)
2006/10/09 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
浅谈Webpack 持久化缓存实践
2018/03/22 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
Python多进程同步简单实现代码
2016/04/27 Python
python pandas时序处理相关功能详解
2019/07/03 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
Python如何定义有可选参数的元类
2020/07/31 Python
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
企业办公室岗位职责
2014/03/12 职场文书
安全横幅标语
2014/06/09 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers
Python基础之进程详解
2021/05/21 Python
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python
Python turtle编写简单的球类小游戏
2022/03/31 Python