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 MySQL与分页效率
Jun 04 PHP
FleaPHP的安全设置方法
Sep 15 PHP
php feof用来识别文件末尾字符的方法
Aug 01 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
php对称加密算法示例
May 07 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
3种php生成唯一id的方法
Nov 23 PHP
PHP的几个常用加密函数
Feb 03 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
php通过header发送自定义数据方法
Jan 18 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
php微信开发之图片回复功能
Jun 14 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.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python命名空间详解
2014/08/18 Python
python图像常规操作
2017/11/11 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
pandas分区间,算频率的实例
2019/07/04 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
python3中数组逆序输出方法
2020/12/01 Python
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
简历自荐信范文
2015/03/09 职场文书
迎新生晚会主持词
2015/06/30 职场文书
教师节主题班会方案
2015/08/17 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技
SQLServer常见数学函数梳理总结
2022/08/05 MySQL