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版)
Oct 09 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
PHP 全角转半角实现代码
May 16 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
PHP在线调试执行的实现方法(附demo源码)
Apr 28 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 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 magic quotes的详解
2013/06/17 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
使用python实现kNN分类算法
2019/10/16 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
表彰先进集体通报
2014/01/12 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
客户答谢会致辞
2015/01/20 职场文书
黄埔军校观后感
2015/06/10 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js