Иметь большой файл со 130 тыс. Строк ~ 2 тыс. Классов, каждый из которых инкапсулирован в if (! Class_exists ()) {}.
Цель - 2 тыс. Отдельных файлов классов с пространствами имен (в настоящее время их нет) из этих данных,Будет использовать родительское пространство имен (на данный момент будем называть его Parent), и тогда первая часть имени класса будет дочерним пространством имен.Пример:
<?php
if (!class_exists('ThisClassName'){
class ThisClassName {}
}
if (!class_exists('ThisOtherClass'){
class ThisOtherClass{}
}
if (!class_exists('ThatClassName'){
class ThatClassName {}
}
if (!class_exists('ThatOtherClass'){
class ThatOtherClass{}
}
Это закончится в этой иерархии:
src/ (root)
This/
ThisClassName.php
ThisOtherClass.php
That/
ThatClassName.php
ThatOtherClass.php
Файл примера:
<?php
namespace Parent\First;
class FirstClassName {}
Мысли о том, как начать писать этот скрипт?Язык для файла - PHP, хотя это не требуется ни для одного сценария извлечения.Также учтите, что любой действительный PHP может быть там для целей регулярных выражений.
Ps Для всех, кому интересно, это PHP Toolkit NetSuite (2016-2018, надеюсь, что они подойдут в 2019 году и перейдут на PSR)