Я создал генератор модели приложения с использованием некоторых алгоритмов, он генерирует все классы, такие как:
Obj1 {
// attrs...
// methods (gets-sets)...
}
Obj2 {
// attrs...
// methods (gets-sets)..
}
…
Я хочу добавить новые атрибуты и методы в этот сгенерированный код, но это сложно. Для этого я создал альтернативный файл с тем же именем, что и имя объектного файла, и когда генератор запустится, ему понадобятся эти файлы, чтобы добавить его к классам, вот так:
ObjN {
// attrs...
// methods (gets-sets)...
require( "more-methods-and-attributes-for-objN.php" );
}
Проблема в том, что когда я программирую новые функции для этих классов, мне нужно работать с обычным текстом в этих файлах (это очень сложно). Теперь у меня есть идея, что для решения этой проблемы лучше работать с наследованием классов, но я не знаю, какое имя поместить в родительский класс или использовать пакеты?
Option1> С префиксом родительского класса:
class prebuilt_Obj1 {
// attrs...
// methods (gets-sets)..
}
class Obj1 extends prebuilt_Obj1 {
// my attrs
// my methods (gets-sets)
}
Option2> С пакетами:
namespace model/core;
class Obj1 {
// attrs...
// methods (gets-sets)..
}
namespace model;
use model/core/Obj1;
class Obj1 extends ¿Obj1? { //oops
// my attrs
// my methods (gets-sets)
}
Что вы порекомендуете?
Задача ещё не решена.
Других решений пока нет …