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


相关推荐

  • 【网络知识补习】❄️| Cookie详解 和 Document.cookie使用文档+运行实例「建议收藏」

    【网络知识补习】❄️| Cookie详解 和 Document.cookie使用文档+运行实例「建议收藏」Cookie详解什么是Cookie?Cookie是一些数据,存储于你电脑上的文本文件中。当web服务器向浏览器发送web页面时,在连接关闭后,服务端不会记录用户的信息。Cookie的作用就是用于解决“如何记录客户端的用户信息”:当用户访问web页面时,他的名字可以记录在cookie中。在用户下一次访问该页面时,可以在cookie中读取用户访问记录。Cookie以名/值对形式存储,如下所示:username=JohnDoe当浏览器从服务器上请求web

    2022年7月20日
    19
  • DHCP option82_dhcp中继配置命令

    DHCP option82_dhcp中继配置命令option82是dhcp报文中的中继代理信息选项(relayagentinformationoption)。当dhcpclient发送请求报文到dhcpserver时,若需要经过dhcp中继,则由dhcp中继将option82添加到请求报文中。option82包含很多sub-option,本文中的option82只支持sub-option1、sub-option2和sub-

    2022年8月31日
    1
  • ValidateRequest 属性[通俗易懂]

    ValidateRequest 属性[通俗易懂]               在ASP.NET1.1中,@Page指令上的ValidateRequest属性被打开后,将检查以确定用户没有在查询字符串、Cookie或表单域中发送有潜在危险性的HTML标记。如果检测到这种情况,将引发异常并中止该请求。该属性默认情况下是打开的;您无需进行任何操作就可以得到保护。如果您想允许HTML标记通过,必须主动禁用该属性。  Valida

    2022年6月10日
    28
  • Linux下文件搜索、查找、查看命令

    Linux下文件搜索、查找、查看命令Linux下文件搜索、查找、查看命令1、最强大的搜索命令:find一、根据文件或目录名称搜索二、根据文件大小搜索三、根据所有者和所属组搜索四、根据时间属性搜索五、根据文件类型或i节点搜索六、组合条件搜索  2、在文件资料中查找文件:locate  3、搜索命令所在的目录及别名信息:which 4、搜索命令所在的目录及帮助文档路径:whereis5、在文件…

    2022年7月26日
    9
  • 移动端app开发,框架的选择。

    移动端app开发,框架的选择。从事java开发快三年了,最近公司因项目要求需要做一款app,个人对这方面兴趣比较大,于是网上收集资料,框架的选择,技术的论证,到今天项目需求的各个功能都做出了相应的demo同时也打好了框架,接下来就是完成细节的部分了。接下来自己会在github更新自己相应的demo,最后也将会更新整个项目,写博客的目的就是希望自己养成做笔记的习惯,同时鞭策自己不断的学习新的知识。框架的选择,因为一直在关注前端方

    2022年6月29日
    30
  • QCustomPlot 使用示例

    QCustomPlot 使用示例一、项目结构fileparser.h#ifndefFILEPARSER_H#defineFILEPARSER_H#include<QObject>structstructReferInfo{doublepitch_input;doubleheading;doublepitch;doubleroll;doubleairSpeed_indicated;doubleaccelerationOverLoad_

    2022年10月16日
    0

发表回复

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

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