11.5 PhpStorm 策略

PhpStorm 提供了帮助使用依赖注入的工具。

扩展结构视图

Drupal 8 里,组件功能经常跨多个文件。一个类经常扩展另一个类,或实现一些接口。结构视图可以浏览类的方法和属性,但默认情况下,看不到从其他类继承的方法。有一个按钮可以激活这个功能。

使用 CMD + 7 (Mac) 或者 View > Tool Windows > Structure 打开这个视图。

灰色方法是继承来的,黑色是当前类中的方法。使用 CMD + 1 可以显示文件列表。

phpstorm-structure

使用服务名找到一个服务类

你经常会看到服务名,但找到这个服务比较有挑战性。我们可以使用 PhpStorm 的文件搜索找到它。

例如,你有参数 arguments: ['@current_user'],代码这样:

$current_user = \Drupal::service('current_user');

这种情况我们知道服务叫做 current_user,但不清楚它定义在那个 service.yml 文件内。

使用 CMD + Shift + F 打开文件搜索。(见附图)

使用带冒号的服务名 service-name: ,只在 *services.yml 文件内搜索,我们只会得到一个结果:

current_user: class: Drupal\Core\Session\AccountProxy

从这里我们知道服务类是 Drupal\Core\Session\AccountProxy 。也可以使用 Search Everywhere(按两次 Shift) 功能搜索 AccountProxy 类,之后直接导航到这个类。

find-service-class

从使用的代码导航到类

在 PhpStorm 里,如果我们知道类名,可以很容易的使用“ CMD + 点击这个类名”导航到这个类。本例中我们点击 AccountInterface,可以导航到 AccountInterface 类。

public function setAccount(AccountInterface $account) {}

 

本书共39小节。


评论 (0)