Разделить php-файл с несколькими классами на файлы классов с пространствами имен - PullRequest
0 голосов
/ 17 апреля 2019

Иметь большой файл со 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)

...