Intereting Posts
Как вызвать событие mysql после периода времени? Как создать предварительную отправку в symfony, которая вызывается перед любым модулем / действием? Zend Framework 2 – Создание простой формы с помощью валидаторов Как я могу отобразить описание элемента родительского меню с помощью Walkers WordPress? PHP Traversing Function, чтобы превратить один массив в вложенный массив с дочерними элементами – на основе родительского идентификатора Почему загрузка изображения завершается ошибкой is_uploaded_file php? PHP SDK 3.1.1 getUser () иногда возвращает 0 Использование хэширования для безопасного хранения паролей пользователей Поворот и обрезка PHP не распознает установку MySQL Сессия PHP потеряна после перенаправления PHP, как установить часовой пояс? флэш-сообщение php session База данных конфликтов, когда несколько проектов Laravel на одной машине Язык хинди не отображается правильно на tcpdf

print_r получить методы объекта в PHP?

Я работаю с Views 2 в Drupal 6, и мне трудно найти документацию по методам объекта View. Есть ли какая-либо функция PHP, такая как print_r, которая выводит методы, а также поля?

    Я считаю, что вы ищете get_class_methods . Если это так, get_class_vars также может вас заинтересовать.

    API Reflection может представлять интерес для вас (если он не переполнен). В частности: –

    <?php Reflection::export(new ReflectionClass('View')); ?> 

    Ознакомьтесь с руководством для более подробных примеров.

    Помимо функций, упомянутых в Mathachew, вы также можете взглянуть на Reflection , особенно на класс ReflectionClass .

     $class = new ReflectionClass('YourViewClass'); $class->getMethods(); $class->getProperties(); 

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

     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 "<pre>CLASS NAME = ".get_class($object); $reflection = new ReflectionClass(get_class($object)); echo "<br />"; echo $reflection->getDocComment(); echo "<br />"; $metody = $reflection->getMethods(); foreach($metody as $key => $value){ echo "<br />". $value; } echo "<br />"; $vars = $reflection->getProperties(); foreach($vars as $key => $value){ echo "<br />". $value; } echo "</pre>"; } 

    Чтобы показать вам, как это работает, я создам теперь некоторый случайный примерный класс. Давайте создадим класс под названием 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 ] 

    Надеюсь, вы найдете это полезным. С уважением.