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
mysql建立外键
Nov 25 PHP
随时给自己贴的图片加文字的php水印
Mar 16 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
深入file_get_contents与curl函数的详解
Jun 25 PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
php数组随机排序实现方法
Jun 13 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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
ThinkPHP写第一个模块应用
2012/02/20 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
js对字符的验证方法汇总
2015/02/04 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
python实现的udp协议Server和Client代码实例
2014/06/04 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
大学本科生的个人自我评价
2013/12/09 职场文书
爱与责任演讲稿
2014/05/20 职场文书
文明好少年事迹材料
2014/08/19 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python