Symfony2 - Как получить доступ к методам сущностей динамически? - PullRequest
1 голос
/ 10 октября 2011

Я хочу получить динамический доступ к методам сущностей Symfony2, вызвав их объект. Для экземпляра:

$entityObj = new Products();

// Generic Table Processor to process the table data    
private function tableProcessor($entityObject){

    // how can I get all the Entity methods inside the Products Entity????

    // e.g; $entityObject.getMethods();   // should return all the methods?

    return $entityObject;
}

Если разобраться! Я уверен, что эта процедура мне очень поможет в написании меньшего количества кода, который в противном случае мне придется написать для более чем 10-20 объектов.

1 Ответ

7 голосов
/ 10 октября 2011

Если все методы в ваших сущностях будут геттерами или сеттерами, вы можете использовать ReflectionObject для получения списка и динамического доступа к ним:

$object = new \ReflectionObject($entityObject);

foreach ($object->getMethods() as $method) {
    // $method is a \ReflectionMethod instance
    // invoke it or save its name

    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...