我创建了一个受保护的$ companyID;在我的Job类然后在__construct
函数中我通过了$id
但是当我尝试在我的handler function
中实例化变量时它的null
protected $companyID = NULL;
public function __construct($ID) {
$this->companyID = $ID;
}
然后在实例化课程时?
$ProcessOutgoingSMS = new ProcessOutgoingSMS();
$ProcessOutgoingSMS->dispatch(3);
您没有将任何参数传递给构造函数,也许这是您的问题的根源。
$ProcessOutgoingSMS = new ProcessOutgoingSMS(2);
作为更一般的代码样式注释,我还建议不要使用带有大写第一个字符的变量。 $id
和$processOutgoingSMS
。
你应该将3传递给构造函数:
$ProcessOutgoingSMS = new ProcessOutgoingSMS(3);
$ProcessOutgoingSMS->dispatch();
并不是
$ProcessOutgoingSMS = new ProcessOutgoingSMS();
$ProcessOutgoingSMS->dispatch(3);
我实例化该类并尝试执行注入控制台/ kernel.php
$idobject = (object)['id' => 3];
new ProcessOutgoingSMS($idobject);
然后在尝试执行功能的类中使var成为静态var
static $companyID = 0;
现在构造函数看起来像
public function __construct($company) {
self::$companyID = $company->id;
}
然后在handle()函数中,我可以访问注入的任何值
dd(self::$companyID);
多谢你们