Laravel响应和视图

Laravel响应和视图

基础响应

    //直接响应字符串

    Route::get(‘example/test20’, function(){

        return ‘hello world’;

    });

    //定制HTTP响应

    Route::get(‘example/test21’, function(){

        return Response::make(‘内容不存在’, 404);

    });

    //响应视图

    Route::get(‘example/test22’, function(){

        return Response::view(‘test22’);

    });

    //给响应添加cookie

    Route::get(‘example/test23’, function(){

        return Response::view(‘test22’)->withCookie(Cookie::make(‘key’, ‘this is value’));

响应重定向

    //响应重定向

    Route::get(‘example/test24’, function(){

        return Redirect::to(‘example/test21’)->with(‘username’, ‘xiaoming’);

    });

    //带上数据的重定向

    Route::get(‘example/test25’, function(){

        //with 方法将数据写到了Session中,通过Session::get 方法即可获取该数据。

        return Redirect::to(‘example/test21’)->with(‘username’, ‘xiaoming’);

    });

    //重定向至命名路由

    return Redirect::route(‘login’);

    //重定向值带有命名参数的命名路由

    return Redirect::route(‘profile’, array(‘user’ => 1));

    //重定向至指定的控制器方法

    return Redirect::action(‘HomeController@index’);

    //重定向至指定的控制器方法,并可带上参数

    return Redirect::action(‘UserController@profile’, array(‘user’ => 1));

响应视图

    //响应视图并传递参数

    Route::get(‘example/test30’, function(){

        //第一种方式

        return View::make(‘test30’, array(‘name’ => ‘xiaoming’));

        //第二种方式

        //return View::make(‘test30’)->with(‘name’, ‘xiaoming2’);

        //第三种方式

        //return View::make(‘test30’)->withName(‘xiaoming3’);

        //第四种方式,注:在所有视图中共享同一数据

        //View::share(‘name’, ‘Steve’);

    });

    //在视图中传入子视图

    Route::get(‘example/test31’, function(){

        $data = array(‘name’ => ‘john’);

        //子视图放在app/views/child/child_view.php, 你也可以向其传递变量

        return View::make(‘test30’)->with($data)->nest(‘child’, ‘child.child_view’, $data);

    });

视图组件或视图合成器

如果你希望视图被创建时,就绑上指定数据,可以定义视图组件:

    View::composer(‘profile’, function($view)

    {

        $view->with(‘count’, User::count());

    });

给视图组件添加多视图:

    View::composer(array(‘profile’,’dashboard’), function($view)

    {

        $view->with(‘count’, User::count());

    });

如果你使用基于类的视图组件:

    View::composer(‘profile’, ‘ProfileComposer’);

视图组件类这样创建:

    class ProfileComposer {

        public function compose($view)

        {

            $view->with(‘count’, User::count());

        }

    }

特殊响应

    //创建JSON响应

    return Response::json(array(‘name’ => ‘Steve’, ‘state’ => ‘CA’));

    //创建JSONP响应

    return Response::json(array(‘name’ => ‘Steve’, ‘state’ => ‘CA’))->setCallback(Input::get(‘callback’));

    //文件下载响应

    return Response::download($pathToFile);

    return Response::download($pathToFile, $name, $headers);

    注意:管理文件下载的类库Symfony HttpFoundation要求文件名是ASCII编码的。

响应宏,使用Response::macro自定义响应

    Response::macro(‘caps’, function($value)

    {

        return Response::make(strtoupper($value));

    });

macro 方法接受两个参数,一个指定宏名称和一个闭包。当通过 Response 类调用该名称的宏时,闭包就会被执行:

    return Response::caps(‘foo’);

你可以在 app/start 目录里的文件中定义宏。或者,你也可以通过一个单独的文件组织你的宏,并将该文件包含至某个 start 文件中。

转载于http://www.phpddt.com/php/laravel-response.html

转载于:https://my.oschina.net/u/2444569/blog/500837

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109349.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【获奖公布】“我的2016”主题征文活动

    【获奖公布】“我的2016”主题征文活动还记得2015的年末,2016的新年伊始,你给自己定下的目标,对自己许下的诺言么?时光荏苒,一年又在指缝间溜走了,离2016的结束还剩十多天,在接下来的这十几天里,让我们用博客记录下这或开心、或痛苦,或特殊,或平淡的2016年,愿剩下的每一天我们都不会虚度~值此岁末之际,CSDN博客频道携手“图灵教育”开展了“我的2016”主题征文活动,听大家聊聊2016年的工作、生活中的点滴感动、喜悦和收获,

    2022年6月21日
    20
  • Java集合篇:Vector

    Java集合篇:Vector

    2021年10月4日
    39
  • LoadRunner教程03:界面分析[通俗易懂]

    LoadRunner教程03:界面分析[通俗易懂]一、virtualusergeneratorLoadRunner拥有各种Vuser类型,每一类型都适合于特定的负载测试环境。这样就能够使用Vuser精确模拟真实世界的情形。Vuser在方案中执行的操作是用Vuser脚本描述的。Vuser脚本的结构的内容因Vuser类型的不同而不同。注意:VuGen仅能录制Windows平台上的会话。但录制的Vuser脚本既可以在Window平台上运

    2022年5月23日
    30
  • Hadoop 入门教程(超详细)[通俗易懂]

    Hadoop 入门教程(超详细)[通俗易懂]文章目录1.Hadoop框架1.1Hadoop介绍1.1.1Hadoop是什么1.1.2Hadoop的发展历史1.1.3Hadoop三大发行版本1.1.4Hadoop的优势1.1.5Hadoop的组成1.Hadoop框架1.1Hadoop介绍1.1.1Hadoop是什么Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要…

    2022年4月29日
    307
  • 陕西驾驶员考试

    陕西驾驶员考试

    2021年7月27日
    63
  • 转载:Visio2013的密钥「建议收藏」

    转载:Visio2013的密钥「建议收藏」因为新买的电脑安装visio后之前的注册机都用不了,只能从网上找密钥激活,以下是转载网上的,有需要者自行尝试把VisioProfessional2013KEYC2FG9-N6J68-H8BTJ-BW3QX-RM3B32NYF6-QG2CY-9F8XC-GWMBW-29VV8FJ2N7-W8TXC-JB8KB-DCQ7Q-7T7V3VXX6C-DN3HQ-3CRXG-RF4KT-YG7V3B3…

    2022年6月24日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号