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+MSSQL分页的例子
Oct 09 PHP
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
Feb 11 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 PHP
PHP随机生成随机个数的字母组合示例
Jan 14 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
基于Python List的赋值方法
2018/06/23 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python中GIL的使用详解
2018/10/03 Python
使用pyqt 实现重复打开多个相同界面
2019/12/13 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
python 两种方法删除空文件夹
2020/09/29 Python
python实现马丁策略的实例详解
2021/01/15 Python
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
个人收入证明范本
2014/01/12 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
经典禁毒标语
2014/06/16 职场文书
农村老人去世追悼词
2015/06/23 职场文书
演讲比赛主持词
2015/06/29 职场文书
导游词之峨眉山
2019/12/16 职场文书
Redis主从复制操作和配置详情
2022/09/23 Redis