📅  最后修改于: 2023-12-03 15:14:48.252000             🧑  作者: Mango
在Drupal 8中,开发人员可以通过依赖注入来获取服务。依赖注入是Drupal 8中一个重要的概念,允许开发人员获取到资源而不必使用全局函数。
在Drupal 8中,服务是通过声明性的方式来定义的。以下是一个定义服务的示例:
services:
my_service:
class: Drupal\my_module\MyService
arguments: ['@entity_type.manager']
在这个例子中,我们定义了名为my_service
的服务,它的类是Drupal\my_module\MyService
。服务有一个参数,用于注入entity_type.manager
服务。
获取Drupal 8中的服务很容易。以下是一个获取服务的示例:
$myService = \Drupal::service('my_service');
在这个例子中,我们使用了静态Drupal
类来获取my_service
服务。我们还可以使用依赖注入来自动注入服务,如下所示:
public function myFunction(MyService $myService) {
// 现在$myService已经准备好使用了。
}
在这个例子中,我们使用了依赖注入将服务注入到函数中。在函数中,我们可以直接使用$myService
变量,而无需调用服务获取器。
在Drupal 8中,开发人员可以通过yaml文件定义服务,然后使用静态Drupal
类或使用依赖注入来获取服务。这个新的服务架构使得代码维护更加简单,同时也提高了可测试性。