- get_object_vars
- Parameters
- Return Values
- Related Functions
- Example of get_object_vars
- Function get_object_vars:
- Class/Object Information Functions
- Most used PHP functions
- get_object_vars
- Parameters
- Return Values
- Examples
- See Also
- get_object_vars
- Parameters
- Return Values
- Examples
- See Also
- PHP – печать всех свойств объекта
get_object_vars
Gets the accessible non-static properties of the given object according to scope.
Parameters
Return Values
Returns an associative array of defined object accessible non-static properties for the specified object in scope.
Related Functions
Example of get_object_vars
Function get_object_vars:
Class/Object Information Functions
- __autoload
- class_alias
- class_exists
- enum_exists
- get_called_class
- get_class_methods
- get_class_vars
- get_class
- get_declared_classes
- get_declared_interfaces
- get_declared_traits
- get_mangled_object_vars
- get_object_vars
- get_parent_class
- interface_exists
- is_a
- is_subclass_of
- method_exists
- property_exists
- trait_exists
- __autoload
Most used PHP functions
- sandbox (118420717)
- preg_replace (206918)
- json_encode (145792)
- preg_match (135081)
- unserialize (115813)
- serialize (111417)
- hex2bin (101047)
- uniqid (82093)
- array (72486)
- json_decode (61770)
- iconv (54027)
- utf8_decode (47309)
- preg_replace_callback (47044)
- preg_match_all (45945)
- str_replace (42800)
- strtotime (38843)
get_object_vars
Gets the accessible non-static properties of the given object according to scope.
Parameters
Return Values
Returns an associative array of defined object accessible non-static properties for the specified object in scope.
Examples
Example #1 Use of get_object_vars()
class foo < private $a; public $b = 1; public $c; private $d; static $e; public function test( ) < var_dump(get_object_vars($this)); > > $test = new foo; var_dump(get_object_vars($test)); $test->test(); ?>
The above example will output:
array(2) < ["b"]=> int(1) ["c"]=> NULL > array(4) < ["a"]=> NULL ["b"]=> int(1) ["c"]=> NULL ["d"]=> NULL >
Note:
Uninitialized properties are considered inaccessible, and thus will not be included in the array.
See Also
PHP 8.2
(PHP 7 7.4.0, 8) get_mangled_object_vars Returns array of properties Returns an array whose elements are the object’s properties.
(PHP 4, 5, 7, 8) get_meta_tags Extracts all content attributes from file and returns array Opens filename and parses it line by for tags the Example
(PHP 4, 5, 7, 8) get_parent_class Retrieves the name for object Retrieves the parent class name for object The tested object or class name.
(PHP 4, 5, 7, 8) get_required_files Alias of get_included_files() This function an alias of: get_included_files().
get_object_vars
Получает доступные нестатические свойства данного object соответствии с областью действия.
Parameters
Return Values
Возвращает ассоциативный массив доступных нестатических свойств определенного object для указанного объекта в области видимости.
Examples
Пример # 1 Использование get_object_vars ()
class foo < private $a; public $b = 1; public $c; private $d; static $e; public function test( ) < var_dump(get_object_vars($this)); > > $test = new foo; var_dump(get_object_vars($test)); $test->test(); ?>
Выводится приведенный выше пример:
array(2) < ["b"]=> int(1) ["c"]=> NULL > array(4) < ["a"]=> NULL ["b"]=> int(1) ["c"]=> NULL ["d"]=> NULL >
Note:
Неинициализированные свойства считаются недоступными и поэтому не включаются в массив.
See Also
PHP 8.2
(PHP 7 7.4.0, 8) get_mangled_object_vars Возвращает массив свойств Возвращает массив, элементами которого являются свойства объекта.
(PHP 4, 5, 7, 8) get_meta_tags Извлекает все атрибуты содержимого из файла и возвращает массив Открывает имя файла и анализирует его построчно на наличие тегов Пример
(PHP 4,5,7,8)get_parent_class Извлекает имя для объекта Извлекает имя родительского класса для объекта Проверяемое имя объекта или класса.
(PHP 4,5,7,8)get_required_files Псевдоним get_included_files()Эта функция является псевдонимом:get_included_files().
PHP – печать всех свойств объекта
У меня есть неизвестный объект на php-странице.
Как я могу печатать / эхо его, чтобы я мог видеть, какие у него свойства / ценности?
Как насчет функций? Есть ли способ узнать, какие функции имеет объект?
Это те же вещи, которые вы используете для массивов.
Они покажут защищенные и частные свойства объектов с PHP 5. Статические члены класса не будут показаны в соответствии с руководством.
Если вы хотите узнать методы-члены, вы можете использовать get_class_methods () :
$class_methods = get_class_methods('myclass'); // or $class_methods = get_class_methods(new myclass()); foreach ($class_methods as $method_name) < echo "$method_name
"; >
Поскольку никто еще не предоставил подход OO, все же здесь, как это было бы сделано.
class Person < public $name = 'Alex Super Tramp'; public $age = 100; private $property = 'property'; >$r = new ReflectionClass(new Person); print_r($r->getProperties()); //Outputs Array ( [0] => ReflectionProperty Object ( [name] => name [class] => Person ) [1] => ReflectionProperty Object ( [name] => age [class] => Person ) [2] => ReflectionProperty Object ( [name] => property [class] => Person ) )
Преимущество при использовании отражения заключается в том, что вы можете фильтровать видимость свойства, например:
print_r($r->getProperties(ReflectionProperty::IS_PRIVATE));
Поскольку свойство Person :: $ private является закрытым, оно возвращается при фильтрации по IS_PRIVATE:
//Outputs Array ( [0] => ReflectionProperty Object ( [name] => property [class] => Person ) )
- ReflectionClass
- ReflectionClass :: GetProperties
- ReflectionClass :: getDefaultProperties
Если вы хотите получить дополнительную информацию, вы можете использовать ReflectionClass:
Мне очень нравится dBug . Обычно я использую var_dump() для скаляров (int, string, boolean и т. Д.) И dBug для массивов и объектов.
Снимок экрана с официального сайта:
Для получения дополнительной информации используйте эту пользовательскую функцию TO ($ someObject):
Я написал эту простую функцию, которая не только отображает методы данного объекта, но также показывает его свойства и инкапсуляцию, а также другую полезную информацию, такую как примечания к выпуску, если они указаны.
function TO($object) < //Test Object if(!is_object($object))< throw new Exception("This is not a Object"); return; >if(class_exists(get_class($object), true)) echo "
CLASS NAME = ".get_class($object); $reflection = new ReflectionClass(get_class($object)); echo "
"; echo $reflection->getDocComment(); echo "
"; $metody = $reflection->getMethods(); foreach($metody as $key => $value)< echo "
". $value; > echo "
"; $vars = $reflection->getProperties(); foreach($vars as $key => $value)< echo "
". $value; > echo ""; >
Чтобы показать вам, как это работает, я создам теперь некоторый случайный примерный класс. Давайте создадим класс под названием Person и разместим некоторые заметки о выпуске чуть выше объявления класса:
/** * DocNotes - This is description of this class if given else it will display false */ class Person< private $name; private $dob; private $height; private $weight; private static $num; function __construct($dbo, $height, $weight, $name) < $this->dob = $dbo; $this->height = (integer)$height; $this->weight = (integer)$weight; $this->name = $name; self::$num++; > public function eat($var="", $sar="") < echo $var; >public function potrzeba($var ="") < return $var; >>
Теперь давайте создадим экземпляр класса Person и завершим его с помощью нашей функции.
$Wictor = new Person("27.04.1987", 170, 70, "Wictor"); TO($Wictor);
Это будет выводить информацию о имени класса, параметрах класса, методах класса, включая информацию об инкапсуляции, а также количество параметров, имена параметров для каждого метода, расположение метода и строки кода, где он существует. См. Вывод ниже:
CLASS NAME = Person /** * DocNotes - This is description of this class if given else it will display false */ Method [ public method __construct ] < @@ C:\xampp\htdocs\www\kurs_php_zaawansowany\index.php 75 - 82 - Parameters [4] < Parameter #0 [ $dbo ] Parameter #1 [ $height ] Parameter #2 [ $weight ] Parameter #3 [ $name ] >> Method [ public method eat ] < @@ C:\xampp\htdocs\www\kurs_php_zaawansowany\index.php 83 - 85 - Parameters [2] < Parameter #0 [ $var = '' ] Parameter #1 [ $sar = '' ] >> Method [ public method potrzeba ] < @@ C:\xampp\htdocs\www\kurs_php_zaawansowany\index.php 86 - 88 - Parameters [1] < Parameter #0 [ $var = '' ] >> Property [ private $name ] Property [ private $dob ] Property [ private $height ] Property [ private $weight ] Property [ private static $num ]
Надеюсь, вы найдете это полезным. С уважением.
для знания свойств объекта var_dump (object) – лучший способ. Он будет показывать связанные с ним все связанные с ним общие, закрытые и защищенные свойства, не зная названия класса.
Но в случае методов вам нужно знать имя класса, иначе я думаю, что получить все связанные методы объекта сложно.
попробуйте использовать Pretty Dump, он отлично работает для меня