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 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
PHP array 的加法操作代码
Jul 24 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP加密解密实例分析
Dec 25 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 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
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
Python深入学习之特殊方法与多范式
2014/08/31 Python
介绍Python中的一些高级编程技巧
2015/04/02 Python
python实现从字典中删除元素的方法
2015/05/04 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
工程业务员工作职责
2013/12/07 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
大学生在校表现评语
2014/12/31 职场文书
中秋客户感谢信
2015/01/22 职场文书
尼克胡哲观后感
2015/06/08 职场文书
诉讼和解协议书
2016/03/23 职场文书