Хорошо, допустим, у меня есть строка с именем test
, и я знаю, что эта строка фактически используется как имя свойства в одном из моих классов. Есть ли способ узнать, какой класс имеет имя с именем test
?Проверьте, к какому классу принадлежит свойство PHP
Что-то вроде этого, может быть:
class Foobar {
private $foo;
}
class Bazbar {
private $test;
}
$attr_name = 'test';
echo get_class_name_by_attr($attr_name); // Would output Bazbar
Быстро импровизированный этот код ...
Есть ли способ для достижения этой цели в PHP?
Там нет простого способа сделать это, кроме пробегает по каждому классу и с помощью отражения, чтобы проверить свойства .... и даже тогда, новые свойства могут динамически добавляться в любой экземпляр класса .... и несколько разных классов могут иметь свойства с одним и тем же именем. –
Почему вы определяете '$ test'' private'? Я не думаю, что это сработает. –
Что сказал Марк Бейкер: http://php.net/manual/en/function.get-declared-classes.php + http://php.net/manual/en/book.reflection.php –