Как программно найти открытые свойства класса внутри одного из его методов
у нас есть классFoo
с общественными и охраняемыми объектами.Foo
должен иметь нестатический метод,getPublicVars()
который возвращает список всех открытых свойствFoo
(это всего лишь пример, я знаю извне Foo
вызов объектаget_object_vars()
достигнет этого, и нет необходимости в моемgetPublicVars()
метод).
Замечания: Это также должно возвращать динамически объявленные свойства, назначенные во время выполнения экземпляру класса (объекту), которые не 'т определен в классе "определение.
Вот'Вот пример:
class Foo{
private $bar = '123';
protect $boo = '456';
public $beer = 'yum';
//will return an array or comma seperated list
public function getPublicVars(){
// thar' be magic here...
}
}
$foo = new Foo();
$foo->tricky = 'dynamically added var';
$result = $foo->getPublicVars();
var_dump($result); // array or comma list with 'tricky' and 'beer'
Какой самый краткий способ получить только открытые свойства объекта внутри класса?Собственные методы, где видны как публичные, так и защищенные?
мы смотрели на:
Каков наилучший способ заглянуть внутрь экземпляра (объекта) класса PHP, чтобы увидеть все его доступные публичные свойства и методы?Но это неКажется, я отвечаю на мой вопрос, так какget_object_vars()
со стороны объекта.