Php 在Laravel作业中使用静态类属性的问题
我有一些在控制器内部工作的逻辑,但是当我在作业中执行它时,Php 在Laravel作业中使用静态类属性的问题,php,laravel,laravel-5,guzzle,laravel-queue,Php,Laravel,Laravel 5,Guzzle,Laravel Queue,我有一些在控制器内部工作的逻辑,但是当我在作业中执行它时,QUEUE\u DRIVER=database,我得到了一些意想不到的行为 在我的作业中,我调用一个configurestatic方法,该方法设置一个静态属性,然后在第二个(getFiles)方法调用中引用它 public function handle() { NICE::configure([ 'accessKey' => config('nice.credentials.
QUEUE\u DRIVER=database
,我得到了一些意想不到的行为
在我的作业中,我调用一个configure
static方法,该方法设置一个静态属性,然后在第二个(getFiles
)方法调用中引用它
public function handle()
{
NICE::configure([
'accessKey' => config('nice.credentials.accessKey'),
'secretKey' => config('nice.credentials.secretKey')
]);
$niceFiles = NICE::getFiles($this->contact->contactId);
我得到的错误是,我显然是在NULL(self::$guzzle)上调用request()
Symfony\Component\Debug\Exception\FatalThrowableError:在null上调用成员函数request()
在队列作业中使用静态属性和类时,我是否缺少一些隐藏的Laravel魔法?以及错误说明self::$guzzle:
为空,您是否在某个地方初始化了它?@dparoli我忘了为我编辑的NICE::configure添加代码。这就是我设置self的地方::$guzzle.Please你能添加$guzzle属性声明吗?@dparoli done--IMHO代码看起来不错,你需要一个比我更精通php的人,静态类可能很棘手。我不认为这与Laravel magic有关。正如错误所说,self::$guzzle
为空,您是否在某个地方初始化了它?@dparoli我忘了添加我编辑过的NICE::configure的代码。这就是我设置self的地方::$guzzle.Please你能添加$guzzle属性声明吗?@dparoli done--IMHO代码看起来不错,你需要一个比我更精通php的人,静态类可能很棘手。我不认为这和拉威尔的魔法有关。
public static function configure(array $settings)
{
...
self::$guzzle = new GuzzleClient();
self::$accessToken = self::getAccessToken();
}
<?php
namespace App\Http\Controllers\Components\NICE;
use GuzzleHttp\Client as GuzzleClient;
class Client {
/**
* @var
*/
protected static $guzzle;
public static function getFiles($contactId)
{
$req = self::$guzzle->request('GET', self::apiURL('contacts/' . $contactId . '/files'), [
'headers' => [