Home  >  Article  >  Backend Development  >  PHP framework - How to intelligently prompt (auto-complete) PHP class array member variables?

PHP framework - How to intelligently prompt (auto-complete) PHP class array member variables?

WBOY
WBOYOriginal
2016-12-01 01:27:371268browse

<code>class a{
    static $config = [
        'id' => 1,
        'status' => ['status1'=>1,'status2'=>2]
    ];
  }
</code>

$s = new a();
echo s::config->id;
die;

How to make s::$config-> automatically complete the id and status...

Reply content:

<code>class a{
    static $config = [
        'id' => 1,
        'status' => ['status1'=>1,'status2'=>2]
    ];
  }
</code>

$s = new a();
echo s::config->id;
die;

How to make s::$config-> automatically complete the id and status...

Of course you can do it, you can use phpdoc annotations and an auxiliary class that implements the ArrayAccess interface and has the prompted attributes you need.

The principle is actually to make the IDE mistakenly think that the array is a class and automatically prompt to complete the attribute name. ArrayAccess has the "black" magic of operating class objects as arrays.

IDE's code prompts generate indexes when loading the project, and then start retrieval completion prompts when entering relevant characters. If you also prompt for arrays, the possibility is extremely small. This consumes too many resources, and it is all Partial, non-stop search. But if you use sublime, it will prompt the recently used words, which may meet your needs

phpstorm can automatically prompt class member variables. As for the elements that prompt array type member variables, it has not been covered yet

General IDE development tools will prompt class member variables and class member method names, but I haven’t found the prompt you mentioned yet.

Basically not possible. To put it simply, these arrays are created at runtime. Grammar parsing is not done to this extent now, and it is not necessary.

For example:
I want to delete a key in the array in the code, what should I do?

This kind of completion annotation and completion at the array structure level is not as practical as studying phpdoc

ArrayAccess

The new version of phpstorm already supports it. Today, my colleague said that he has a prompt, and my const array statement was immediately reported in red. . . . His phpstorm supports it. . . . ! !
PHP framework - How to intelligently prompt (auto-complete) PHP class array member variables?

PHPDoc +1 You can refer to this http://www.07net01.com/progra...

Some IDEs can achieve this. You can also install the corresponding plug-in. It is recommended to use sublime

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn