我尝试覆盖供应商类的方法:
namespace App\Providers\Rewritten;
use Illuminate\Queue\DatabaseQueue;
class MyDatabaseQueue extends DatabaseQueue
{
protected function buildDatabaseRecord($queue, $payload, $availableAt, $attempts = 0)
{
//my code here
}
}
我尝试像这样在AppServiceProvider中注册别名:
$loader = AliasLoader::getInstance();
$loader->alias(
'Illuminate\Queue\DatabaseQueue',
'App\Providers\Rewritten\MyDatabaseQueue'
);
然后我有一个错误的谜题:
Class 'Illuminate\Queue\DatabaseQueue' not found
但是为什么呢?我不明白 有人可以帮忙吗?
答案 0 :(得分:0)
尝试在AppServiceProvider.php中添加await
答案 1 :(得分:0)
您对alias()方法的参数顺序错误。代替:
$loader->alias(
'Illuminate\Queue\DatabaseQueue',
'App\Providers\Rewritten\MyDatabaseQueue'
);
您需要切换它们:
$loader->alias(
'App\Providers\Rewritten\MyDatabaseQueue',
'Illuminate\Queue\DatabaseQueue'
);
第一个参数是您的类,第二个参数是别名,这意味着旧类名称将是新类的别名。