有这样一段代码:

  1. foreach ($this->items['g'] as $ast) {
  2. $ast->buildRoleLinks($rm);
  3. }

如果上述代码中,$ast 是一个 Assertion 对象,但是由于 PHP 是弱类型的语言,所以 PHPStorm 并不会检测到。可以使用注释来让 PHPStorm 知道:

  1. /**
  2. * @var Assertion $ast
  3. */
  4. foreach ($this->items['g'] as $ast) {
  5. $ast->buildRoleLinks($rm);
  6. }

重构

文件结构 ,可以快速查看文件的结构:该文件的成员和方法,最重要的是支持搜索,支持在 继承 的成员中搜索。
Inline… ,重构定义的变量,使其在一行中显示。如:

  1. $data = $this->AuthUser();
  2. return json_success('获取成功', $data);
  3. *----在这里使用 inline
  4. 就会称为下个样子
  5. return json_success('获取成功', $this->AuthUser());

Introduce Variable… ,重构定义的变量,使其分开,则可以看成是上面 Inline 的反例。如:

  1. return json_success('获取成功', $this->AuthUser());
  2. *--------------- 将需要重构的代码选中
  3. $data = $this->AuthUser();
  4. return json_success('获取成功', $data); // 当然,变量名可以自己取