Простой вопрос: возможно ли динамически добавлять черты в php-класс во время выполнения без использования eval?
Возможно ли добавлять свойства к классу в PHP во время выполнения?
Ответ 1
Как сказал Главик, вы не можете без использования eval() или отражения (и я даже не уверен в этом).
Но это очень маловероятно, что вам действительно нужно.
Вы можете добиться многого с динамическим составом классов (составляя класс с некоторой функциональностью, которую вы хотите в другой класс). Это просто вопрос о ссылке на класс с требуемой функциональностью в переменную в классе хостинга.
class SomeClassWithNeededFunctionality {}
class SomeClassThatNeedsTheFunctionalityOfTheOtherClass {
private $serviceClass = NULL;
public function __construct (SomeClassWithNeededFunctionality $serviceClass) {
$this -> serviceClass = $serviceClass;
}
}
Ответ 2
Нет.
p.s. вы можете иметь их в автономных файлах и использовать include()?