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 相关文章推荐
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
PHP测试程序运行时间的类
Feb 05 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
php 获取SWF动画截图示例代码
Feb 10 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
php常用hash加密函数
Nov 22 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
smarty实现多级分类的方法
Dec 05 PHP
PHP简单选择排序算法实例
Jan 26 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
phpstorm激活码2020附使用详细教程
Sep 25 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 PDO函数库详解
2010/04/27 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
python和pyqt实现360的CLable控件
2014/02/21 Python
Python测试人员需要掌握的知识
2018/02/08 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
python将list转为matrix的方法
2018/12/12 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
python tkinter组件使用详解
2019/09/16 Python
基于python调用psutil模块过程解析
2019/12/20 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
副总经理工作职责
2013/11/28 职场文书
公司同意接收函
2014/01/13 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
家长会开场白和结束语
2015/05/29 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android