kev*_*100 20 php rest laravel lumen
所以我不确定如何解决这个问题我已经尝试了一些事情,我将在下面列出一个但是我想要做的是在PHP变量中的http请求中发送的存储信息.
这是Chrome Postman发送我想要发送的请求的视图.注意"pubapi"是一个"标题".

我一直在搞乱Lumen请求,你可以在这里看到记录(http://lumen.laravel.com/docs/requests)并尝试使用下面的内容来显示它们,但它显然不起作用.
echo Request::all();
Run Code Online (Sandbox Code Playgroud)
我把它放在我的控制器中,我有......
use Illuminate\Http\Request;
Run Code Online (Sandbox Code Playgroud)
在我的控制器中.
那么我怎么能说我存储标题我将"pubapi"发送到我的控制器中的php变量?
编辑
不确定这是否有帮助,但是看看Laravel框架文档,我看到这个http://laravel.com/api/5.0/Illuminate/Http/Request.html#method_header尝试这个在我的代码中引发了同样的错误.所以例如我尝试了以下并达到了同样的错误.
echo Request::header('pubapi');
Run Code Online (Sandbox Code Playgroud)
小智 34
你在两个层面上误解了Laravel请求对象.
首先,您得到的错误是因为您引用的是对象而不是Facade.Facades有一种方法可以将静态方法调用转发给非静态方法.
其次,您将值作为标头发送,但尝试访问请求参数.这永远不会给你你想要的东西.
以下是通过创建测试路径来查看所需内容的示例的简单方法:
Route::match(['get','post'], '/test', function (Illuminate\Http\Request $request) {
dd($request->headers->all());
});
Run Code Online (Sandbox Code Playgroud)
发布到这条路线,你会看到你的标题,其中一个将是pubapi.请注意路由方法定义与提交请求的方式(即GET或POST)相匹配.
让我们将它应用于控制器,ArticleController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function index(Request $request)
{
$pubapi = $request->header('pubapi'); // string
$headers = $request->headers->all(); // array
/*
$pubapi === $headers['pubapi']
*/
}
}
Run Code Online (Sandbox Code Playgroud)
bal*_*ant 19
尝试将更Illuminate\Http\Request改为Request.
- use Illuminate\Http\Request;
+ use Request;
Run Code Online (Sandbox Code Playgroud)
kev*_*100 11
运用
echo app('request')->header('pubapi');
Run Code Online (Sandbox Code Playgroud)
代替
echo Request::header('pubapi');
Run Code Online (Sandbox Code Playgroud)
似乎工作完美.有人可以提供额外的解释为什么这工作,我的原始方法没有?
| 归档时间: |
|
| 查看次数: |
50305 次 |
| 最近记录: |