staabm/rector-view-scope

1.1.0 2021-11-10 12:40 UTC

README

ViewScopeRector 是您的助手,帮助静态分析工具了解从外部上下文中推断出的视图脚本中的变量类型。

摘要

此重构器包含扫描程序性 PHP 文件(例如视图)的机制,并调用给定的 ContextInferer。之后,它更新视图文件的全球 @var PHPdocs 以反映事先由 ContextInferer 确定的类型。

一个示例实现包含在 ViewContextInferer 中,该实现实现了类似 Ruby'on Rails 的视图与控制器类型推断。

示例整体图

此重构器旨在将 @var PHPdocs 引入分析视图文件中,例如基于相应控制器声明的公共属性。

示例控制器

class Controller {
   /**
    * @var string
    */
   public $hello;
}

示例视图

echo $hello;

该重构器应通过静态反射查找控制器类,推断其属性的类型,并利用这些知识调整/创建视图文件中的 @var PHPdoc。

因此,最终重构器将示例视图更改为

/**
 * @var string
 */
echo $hello;