Лучше тем, что оно идёт по AST.. и в указанном примере, переименовать конечно не сможет, но предупреждение выдаст.
Так же оно должно следить за скопингом , обрабатывать сразу все файлы проекта, обновлять документацию ( в смысле комменты, где данная переменная указана ). Штука дико удобная.
Например:
$var = 1; // ---
function foo1($var){
$var = 2;
}
фунцтион фоо2(){
глобал $var;
$var = 3;
}
При переименовании $var в том месте где комментарий, автоматом будет переименовано и в foo2() .. а foo1() оставлен нетронутым. Представь, что проект, скажем 30 файлов и тысяч 10 линий кода и надо переименовать какую-нить глобальную переменную... сколько провозишься с search+replace?
Цитата:
is_absent:
то есть одна переменная и таже в начале и в середине скрипта может быть разных типов...
|
А разница? Из AST они так и так будут на одно место в Symbol Table указывать. Имхо переименование переменной немного сложнее completions ... а последнее в Zend реализовано на ура.