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 相关文章推荐
15种PHP Encoder的比较
Mar 06 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
php HandlerSocket的使用
May 02 PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
php+mysqli事务控制实现银行转账实例
Jan 29 PHP
PHP文件缓存类示例分享
Jan 30 PHP
8个必备的PHP功能开发
Oct 02 PHP
php去除二维数组的重复项方法
Nov 03 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 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
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
微信跳一跳小游戏python脚本
2018/01/05 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
如何基于python操作excel并获取内容
2019/12/24 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
python交互模式基础知识点学习
2020/06/18 Python
Python 实现简单的客户端认证
2020/07/29 Python
电子专业毕业生自我鉴定
2014/01/22 职场文书
扬州个园导游词
2015/02/06 职场文书
市场部岗位职责
2015/02/12 职场文书
Python合并pdf文件的工具
2021/07/01 Python
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js