让phpstorm识别可变变量或extract生成的变量

让phpstorm识别可变变量或extract生成的变量

识别可变变量

未添加注释变量,默认情况下phpstorm是无法识别可变变量的:
screenshot.jpeg

添加注释变量后,可识别可变变量:
screenshot.jpeg

代码:

<?php
    /**
     * 用注释的方式声明变量,注释的第一个斜杠后面必须要两个“*”号,
     * 以“@var”开头,中间是变量类型,最后是变量名(带“$”符),当然变量类型可不写
     * @var string $aa
     */
    $test = 'aa';
    //注意,这两个$符号是连在一起的,但由于我博客编辑器有问题,连在一起会解析不出来,所以我中间加了个空格
    $ $test = "I'm aa";
    echo $aa;

可变变量与字符串连接需要用大括号括住:

<?php
    /**
     * 用注释的方式声明变量,注释的第一个斜杠后面必须要两个“*”号,
     * 以“@var”开头,中间是变量类型,最后是变量名(带“$”符),当然变量类型可不写
     * @var string $aabb
     */
    $test = 'aa';
    ${$test.'bb'} = "I'm bb";
    echo $aabb;

识别extract生成的变量

无法识别变量时:
screenshot.jpeg

添加识别变量:
screenshot.jpeg

代码:

<?php
    $arr = ['aa' => 'this is aa', 'bb' => 'this is bb'];
    /**
     * 用注释的方式声明变量,注释的第一个斜杠后面必须要两个“*”号,
     * 以“@var”开头,中间是变量类型,最后是变量名(带“$”符),当然变量类型可不写
     * @var string $aa
     * @var string $bb
     */
    extract($arr);

    echo $aa . ' --- ' . $bb;

在Phpstorm中让对象有语法提示

没有提示的情况:
phpstorm before object import

有提示的情况:
Phpstorm Object import
只要在对象上方输入/**然后按空格,就会像上图一样自动输入/** @var $redis */,然后我们再手动输入对象所属的类(当然也会有提示的),这样使用这个$redis对象时就有提示了。

打赏

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

让phpstorm识别可变变量或extract生成的变量