如何在PHP中使用类型提示指定模板内的变量范围?(特别是PhpStorm)

Lan*_*ing 6 php phpstorm

我正在寻找一个doc注释,它将定义当前php模板的范围/上下文.(类似于@var)

示例视图类:

<?php

class ExampleView {

    protected $pageTitle;

    public function __construct($title) {
        $this->pageTitle = $title;
    }

    public function render() {
        require_once 'template.php';
    }

}
Run Code Online (Sandbox Code Playgroud)

-

<?php
// template.php 

/** @var $this ExampleView */
echo $this->pageTitle;
Run Code Online (Sandbox Code Playgroud)

PHPStorm发出检查错误,因为$ pageTitle上的访问受到保护.

在此输入图像描述

是否有提示范围?就像是:

<?php
// template.php 
/** @scope ExampleView */ // <---????

/** @var $this ExampleView */
echo $this->pageTitle;
Run Code Online (Sandbox Code Playgroud)

Laz*_*One 1

不幸的是你不能——没有这样的标签(无论是一般标签还是特定于 PhpStorm)。

让我们希望他们(JetBrains 开发人员)对此做点什么:http://youtrack.jetbrains.com/issue/WI-11022 -- vote/comment/etc,如果它能获得更多选票,我们可能会很快看到它实施(对现在“很快”已经很远了)。