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学习资料汇总与网址
Mar 16 PHP
PHP 身份验证方面的函数
Oct 11 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
php中如何防止表单的重复提交
Aug 02 PHP
php中动态修改ini配置
Oct 14 PHP
php生成html文件方法总结
Dec 01 PHP
PHP序列化操作方法分析
Sep 28 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
实例分析10个PHP常见安全问题
Jul 09 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注入点构造代码
2008/06/14 PHP
PHP教程 基本语法
2009/10/23 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
php命名空间学习详解
2014/02/27 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
python3实现逐字输出的方法
2019/01/23 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python 自动批量打开网页的示例
2019/02/21 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
Python配置文件处理的方法教程
2019/08/29 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
详解Python的三种拷贝方式
2020/02/11 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
python开发入门——set的使用
2020/09/03 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
2014年大学生就业规划书
2014/04/04 职场文书
培训班通知
2015/04/25 职场文书
销售合作意向书范本
2015/05/08 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL