Как извлечь параметры конструктора из объекта?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как извлечь параметры конструктора из объекта?

Сообщение Anonymous »

Я пытаюсь извлечь параметры конструктора из объекта, чтобы я мог передать их в качестве аргументов в другую функцию.

Код: Выделить всё

$args = $object->getConstructorParams();
some_func(...$args);
< /code>
Я не имею доступа к определению oome_func < /code>.
Я могу определить класс объекта сам, я бы предпочел, чтобы он был и абстрактным классом. Br /> Ядро проблемы заключается в том, что у детей-классов могут быть разные конструктивные аргументы.
Я думал что-то вроде < /p>
abstract class mom
{
private $args;
public function __construct(...$args)
{
$this->args = $args;
}
public function getConstructorParams()
{
return $this->args;
}
}

class child extends mom
{
public $name;
public function __construct($name)
{
parent::__construct($name);
$this->name = $name;
}
}
< /code>
Но это оказывает большое давление на правильную реализацию конструктора в классах дочери. Есть ли более элегантный способ достижения чего -то подобного? Полем Я также посмотрел на ReflectionClass :: getConstructor () 
и ReflectionFunctionAbstract :: getParameters () , но это только может получить имена параметров, а не фактические значения. Оба get_object_vars , и рельфсации проходят долгий путь, но пропустили бы переданные аргументы, если они не хранятся непосредственно в объекте.


Подробнее здесь: https://stackoverflow.com/questions/794 ... rom-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»