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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 重磅!2021年国内Java培训机构排名前十最新出炉啦

    重磅!2021年国内Java培训机构排名前十最新出炉啦2021年国内Java培训机构排名前十的学校会是哪些呢?国内Java培训机构排名前十名该依据什么来评定呢?2021年国内Java培训机构排行榜排名的依据是按学员口碑、教学质量、就业率等多方面来进行评判,这次的排名是官方发布,具有权威性、公正性,可参考意义很强。下面,就为大家揭晓2021年最新的国内Java培训机构排名,这些机构在此次的评选活动中的得分又是多少呢。1、动力节点动力节点是成立于2009年,成立时间比较长,到现在为止还是只做Java单科教育,从动力节点毕业的程序员说讲的不错,创始人

    2022年7月7日
    1.1K
  • 函数c()_函数的调用

    函数c()_函数的调用__builtin_系列函数

    2025年6月24日
    2
  • 能直接下载到u盘的电影网站_DvD光盘

    能直接下载到u盘的电影网站_DvD光盘低调地来发个小东东,现在的verycd,没有铜2就不能下载了,下载的链接都是被隐藏掉了(该内容尚未提供权利证明,无法提供下载。)不用铜光盘就能下载的方法?还在为没铜光盘或者没时间刷铜盘的朋友需要可以试试这个之前做的东东,现在共享出来(当然了,如果你看到了这篇文章的话)做得可能有些粗简,但还能用,不打算再优化了,至于浏览器扩展什么的也不打算写了,需要就凑合着用吧百度网…

    2022年8月10日
    7
  • Android 代码混淆配置总结[通俗易懂]

    Android 代码混淆配置总结[通俗易懂]一、前言为何需要混淆呢?简单的说,就是将原本正常的项目文件,对其类,方法,字段,重新命名,a,b,c,d,e,f…之类的字母,达到混淆代码的目的,这样反编译出来,结构乱糟糟的,看了也头大。另外说明

    2022年7月1日
    32
  • 项目管理知识体系五大过程组(项目管理10大知识领域)

    信息系统项目管理师属于计算机技术与软件专业技术资格(水平)考试五大高级资格考试中的一项,是信息系统建设领域的高级项目经理资质申报的直接性前提条件。通过本考试的合格人员能够掌握信息系统项目管理的知识体系,具有高级工程师的实际工作能力和业务水平。通过本考试的基本用途有以下2个:1、评职称:此证书在国企和事业单位可以评职称。2、申报项目经理:此证书可在自己所在企业申报系统集成项目经理,如果…

    2022年4月11日
    98
  • offsetWidth、clientWidth、width、scrollWidth区别及获取

    offsetWidth、clientWidth、width、scrollWidth区别及获取<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>offsetWidth、clientWidth、width、scrollWidth区别及获取</title><style

    2022年7月22日
    12

发表回复

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

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