我可以帮您翻译成中文:
我的问题是,在laravel 5.0中,我可以这样做
这样解决构造函数参数的服务方式正确吗?
谢谢。
我使用的是Laravel 5.1,我遇到了以下问题。
在AppServiceProvider.php文件的register方法中:
$this->app->singleton('PingppServices', function ($app, $params) {
return new \App\Services\PingppServices($params['sid']);
});
在PingppServices.php文件中
private $sid;
public function __construct($params)
{
$this->sid = $params['sid'];
}
public function foo()
{
echo $this->sid;
}
在控制器中,我使用以下代码来调用它:
$pingppServices = app('PingppServices', ['sid' => 1]);
$pingppServices->foo();
我的问题是,在laravel 5.0中,我可以这样做
app('PingppServices', 1);
,在5.1中第二个参数必须是一个数组。我看到app()方法没有改变,所以有什么变化吗?这样解决构造函数参数的服务方式正确吗?
谢谢。