Php Laravel控制器中两种输出响应方法的差异
在Laravel中,有两种从控制器输出响应的方法。我想知道使用这两种方法的优点、缺点(优点和缺点)以及区别。还有,对cookie、会话、标题有什么影响 原因不一定是因为Laravel,而可能是因为PHP。但我需要这些信息来确保我的实现是完美的 我也在寻找最佳实践 方法A:Php Laravel控制器中两种输出响应方法的差异,php,laravel,cookies,http-headers,response,Php,Laravel,Cookies,Http Headers,Response,在Laravel中,有两种从控制器输出响应的方法。我想知道使用这两种方法的优点、缺点(优点和缺点)以及区别。还有,对cookie、会话、标题有什么影响 原因不一定是因为Laravel,而可能是因为PHP。但我需要这些信息来确保我的实现是完美的 我也在寻找最佳实践 方法A: return response('Hello World'); response('Hello World')->send(); exit; 方法B: return response('Hello World');
return response('Hello World');
response('Hello World')->send();
exit;
方法B:
return response('Hello World');
response('Hello World')->send();
exit;
根据我目前的理解。
- 方法A不会立即输出响应,而是让它先返回,然后在一段时间后构建响应(在一些Laravel后期处理工作中)
- 方法B立即生成输出
- 方法B利用出口
- 方法B在构造函数方法中工作,而方法A不工作
谢谢 方法A清楚地表明控制器操作正在返回它应该返回的内容。它也比方法B更简洁。关于这一点还有其他评论吗?事实上,由于拉威尔的局限性,我被迫使用方法B。我试图用一个_toString()方法返回一个类库,认为它将正确地输出我的响应。但是Laravel使用我的字符串输出,并在其周围封装了一层额外的HTTP包装器,使我的响应无效。这是默认实现。检查
照明\路由\路由器
的方法。如果控制器的返回值不是Symfony\Component\HttpFoundation\Response
或Psr\Http\Message\ResponseInterface
的实例,那么它将使用illighted\Http\Response
包装控制器的返回值。是的,我注意到了。我想知道我是否可以覆盖它的默认值,或者避免使用它。顺便问一下,你为什么要这样做?在中间件之后使用修改响应如何?方法A表明控制器操作正在返回一些它应该返回的内容。它也比方法B更简洁。关于这一点还有其他评论吗?事实上,由于拉威尔的局限性,我被迫使用方法B。我试图用一个_toString()方法返回一个类库,认为它将正确地输出我的响应。但是Laravel使用我的字符串输出,并在其周围封装了一层额外的HTTP包装器,使我的响应无效。这是默认实现。检查照明\路由\路由器
的方法。如果控制器的返回值不是Symfony\Component\HttpFoundation\Response
或Psr\Http\Message\ResponseInterface
的实例,那么它将使用illighted\Http\Response
包装控制器的返回值。是的,我注意到了。我想知道我是否可以覆盖它的默认值,或者避免使用它。顺便问一下,你为什么要这样做?在中间件之后使用修改响应如何?