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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
php session 预定义数组
Mar 16 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
php中require和require_once的区别说明
Feb 27 PHP
php浏览历史记录的方法
Mar 10 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 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中正确的使用json
2013/08/06 PHP
Yii核心验证器api详解
2016/11/23 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python中类型检查的详细介绍
2017/02/13 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python中时间模块的基本使用教程
2019/05/14 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
Python实现代码统计工具
2019/09/19 Python
python实现银行账户系统
2021/02/22 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
秋天的怀念教学反思
2014/04/28 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
利用 JavaScript 构建命令行应用
2021/11/17 Javascript