我试图重复使用Job代码以相同的方法处理两个不同的任务(MyClass1和MyClass2)。我已经编写了一个抽象类来将它传递给Job处理程序,但是我得到的消息“不是可实例化的”#。
这就是我想要做的事情
abstract class MyAbstractClass
{
abstract public function doSomething();
}
class MyClass1 extends MyAbstractClass
{
public function doSomething(){
// do some staff
}
}
class MyClass2 extends MyAbstractClass
{
public function doSomething(){
// do some staff
}
}
class MyJob extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
public function __construct()
{
}
public function handle(MyAbstractClass $myObj)
{
$myObj->doSomething();
// it executes the method doSomething of MyClass1 or MyClass2 depending on the enqueued Job
}
}
任何解决方案?如果没有,我会做两个工作,每个班级一个...你觉得怎么样?
谢谢