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中Session的概念
Oct 09 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
php的一个简单加密解密代码
Jan 14 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
33道php常见面试题及答案
Jul 06 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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标签云的实现代码
2012/10/10 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python的迭代器和生成器使用实例
2015/01/14 Python
Python返回真假值(True or False)小技巧
2015/04/10 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
python实现3D地图可视化
2020/03/25 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
运动会表扬稿大全
2014/01/16 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
mysql查看表结构的三种方法总结
2022/07/07 MySQL