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


相关推荐

  • navicat 15激活码生成失败(注册激活)2022.02.03

    (navicat 15激活码生成失败)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlCJM5ZJBPHS-eyJsaWNlbnNlSWQi…

    2022年3月31日
    427
  • Java标识符命名规则(超详细!)[通俗易懂]

    Java标识符命名规则(超详细!)[通俗易懂]规则1:标识符只能由数字、字母(包括中文)、下划线_、美元符号$组成,不能含有其它符号。规则2:标识符不能以数字开头规则3:关键字不能做标识符。例如:publicclassstaticvoid这些蓝色的字体都是关键字,关键字是不能做标识符的。规则4:标识符是严格区分大小写的。大写A和小写a不一样。规则5:标识符理论上是没有长度限制的。…

    2022年7月7日
    24
  • windows下thrift的使用(python)

    windows下thrift的使用(python)

    2021年11月19日
    43
  • phpstorm 激活码2021【最新永久激活】

    (phpstorm 激活码2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSW…

    2022年3月25日
    443
  • C#实现WinForm DataGridView控件支持叠加数据绑定

    C#实现WinForm DataGridView控件支持叠加数据绑定

    2021年9月6日
    80
  • UML图之四——活动图

    UML图之四——活动图点击打开链接活动图是一种流程图,用来描述活动的序列,从一个活动到另一个活动的控制流。活动图的作用:描述用例,描述类的操作。 活动图的构成必要组成元素:1、活动:命令的执行,活动的进行。图符表示:2、状态:开始状态,结束状态。图符表示: 3、转移:活动之间,活动与状态之间的转换。4、判断:对一个动作或者状态进行判断,然后选择要执行的下一步操作。

    2022年5月5日
    41

发表回复

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

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