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年12月16日
    37
  • shell脚本之for循环语句_shell脚本if判断

    shell脚本之for循环语句_shell脚本if判断循环有:for、while、until什么是for循环呢?for循环逻辑:就是将循环列表中的元素赋值给变量,每次赋值便执行一次循环,done就标志着一个循环的结束。直到列表中的元素消耗殆尽,结束整个循环(也可以这么理解,因为某件事,你把你对象惹生气了,你是不是得道歉,道歉一次没用,是不是要第二遍,这是一个循环直到你对象原谅你这个循环才结束.也可以这么理解)for变量in值1值2值3do相当于大括号的上上半部分echo语句程序done相当于大括号的下半部分

    2025年5月31日
    3
  • python之pandas简单介绍及使用(一)「建议收藏」

    python之pandas简单介绍及使用(一)「建议收藏」一、  Pandas简介1、PythonDataAnalysisLibrary或pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一…

    2022年9月27日
    2
  • MAC下最好用的抓包工具–charles简单操作教程

    MAC下最好用的抓包工具–charles简单操作教程一、Charles介绍给大家推荐一款在mac上我觉得很好用的抓包工具,再过去的半年中给我很大帮助,在工作学习中使用很方便。那么什情况下我们会需要使用抓包工具呢,比如我想查看一个接口请求的参数、返回值,还有移动设备上的http请求、https请求,有了charles一下搞定,妈妈再也不用担心我的学习了,咳咳……,回归正题,介绍一下charles。Charles是一个HTTP代理服务器…

    2022年6月12日
    59
  • CBOW 更新[通俗易懂]

    CBOW 更新[通俗易懂]代码:importtorchimporttorch.nnasnnimportnumpyasnpdefmake_context_vector(context,word_to_ix):idxs=[word_to_ix[w]forwincontext]returntorch.tensor(idxs,dtype=torch.long)…

    2025年8月31日
    4
  • 模电七:集成运算放大器(上)

    模电七:集成运算放大器(上)!!!!

    2022年5月27日
    26

发表回复

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

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