Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel:方法的服务提供商_Php_Laravel_Provider - Fatal编程技术网

Php Laravel:方法的服务提供商

Php Laravel:方法的服务提供商,php,laravel,provider,Php,Laravel,Provider,我正在构建一个php类,其中一些方法需要一个请求实例 示例: static public function warningAlert($message, Request $request) { $request->session()->flash('alert-warning', "$message"); } 我以为服务提供商会提供此实例,但他没有: Argument 2 passed to ...\validatorAlerts() must be an instance

我正在构建一个php类,其中一些方法需要一个请求实例

示例:

static public function warningAlert($message, Request $request) {
    $request->session()->flash('alert-warning', "$message");
}
我以为服务提供商会提供此实例,但他没有:

Argument 2 passed to ...\validatorAlerts() must be an instance of Illuminate\Http\Request, none given
我怎样才能提供给他


PS:我不想使用正面。你可以做如下事情:

app()->call('Classname::warningAlert', [ $message ]);
或者,您可以修改您的方法:

static public function warningAlert($message) {
    $request = resolve("request");
    $request->session()->flash('alert-warning', "$message");
}

您可以使用helper函数
request()


或者更好,我建议您使用包

,这样就没有办法为方法提供实例了?为什么我可以在某个控制器中这样做?@ThomasPetillot这里有经典的
warningAlert($message,resolve(Request::class))
。控制器工作的原因是,在某个点上,框架正在执行类似于
app()的操作->解析路由处理程序后调用
。你知道在哪里可以找到有关应用程序调用范围的详细信息吗?@ThomasPetillot不确定我是否理解了这个问题,但总的来说,这是一本关于这里发生的事情的好读物。我相信这其中也有一个更深入的地方。对不起我的英语,我会努力深化我的研究,谢谢你的回答谢谢你的包裹,这正是我正在做的!无论如何,我想找到原始问题的答案:-)@ThomasPetillot您是否尝试
request()
获取当前请求的实例?
static public function warningAlert($message) {
    request()->session()->flash('alert-warning', "$message");
}