Я нахожусь в точке рефакторинга довольно большого проекта, который был разработан с использованием соглашения о псевдо-именах, например:
<?php
// Filename: Classes/OtherSubNamespace/Foo.php
class Vendor_OtherSubNamespace_Foo
{
}
Я хочу использовать пространство имен, используя рекомендации PSR-4, и изменить класс таким образом:
<?php
namespace Vendor\OtherSubNamespace;
<?php
// Filename: Classes/OtherSubNamespace/Foo.php
class Foo
{
}
Сложность заключается не только в рефакторинге самого класса, но и во всех других классах, которые ссылаются на этот класс в проекте.
PHPStorm, кажется, делает хорошую работу, используя Move Class
а также Rename Class
инструменты рефакторинга, но он не имеет функциональности для выполнения пакетного рефакторинга.
Я также посмотрел на PHP рефакторинг браузера но не нашел соответствующей функциональности.
Существуют ли какие-либо другие инструменты, которые могут рекурсивно реорганизовывать имена классов / вводить пространства имен, о которых я не знаю?
Задача ещё не решена.
Других решений пока нет …