Tôi có lớp cơ sở như thế này:Laravel chứa dịch vụ là nó có thể liên kết với lớp VÀ tất cả tổ tiên của nó - giống như trong Symfony
class BaseAPI
{
public function __construct(Client $client, CacheInterface $cache, $apiBaseUri)
{
$this->client = $client;
$this->apiBaseUri = $apiBaseUri;
$this->cache = $cache;
}
}
Và sau đó trong cung cấp dịch vụ:
class APIServiceProvider extends ServiceProvider
{
public function register()
{
$this->app
->when(BaseAPI::class)
->needs('$apiBaseUri')
->give(env('DEFAULT_API_URI',''));
}
}
Đó là làm việc . Nhưng khi tôi đang tạo tổ tiên:
class GetLocations extends BaseAPI
{
protected $apiMethodName = 'locations';
protected $type = 'get';
}
Tôi gặp lỗi. Tất nhiên tôi có thể tự viết mã cho từng tổ tiên, nhưng có rất nhiều trong số chúng, do đó, câu hỏi là: có cơ chế thừa kế nào để ràng buộc không? Một cái gì đó như thế này: https://symfony.com/doc/current/service_container/parent_services.html
Nếu có thể trong symfony, có thể có trong Laravel –