<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...
<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. . . . ! !
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