Я пытаюсь выяснить большую библиотеку PHP, и это не так хорошо документировано. Я хотел бы знать, есть ли способ распечатать все о классе. Например, я использую функцию get_class_methods(), чтобы распечатать методы этого класса и распечатывать область только этого класса. Я хотел бы видеть все методы внутри объектов внутри этого класса. Было бы неплохо увидеть переменные и все остальное. Таким образом, я могу распечатать все, а затем использовать поиск в браузере, чтобы найти то, что мне нужно. Возможно ли это, или есть способ, который уже делает это? Я не настолько хорошо разбираюсь в PHP, поэтому, если вы можете дать мне функцию, которая была бы потрясающей.PHP Отладка классов - Печать всего
ответ
PHP имеет встроенную библиотеку под названием Reflection, которая позволяет анализировать классы и объекты в сложных деталях.
Вы можете получить все методы в классе так:
<?php
$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);
Для свойств класса (переменные-члены):
<?php
$class = new ReflectionClass('Apple');
$properties = $class->getProperties();
var_dump($properties);
Есть ли вызов метода, который сделает это для меня, мой класс называется $ shape – kingcobra1986
Ну, '$ shape' - это имя переменной, а не класс. – Ian
Да, это объект, который я хотел бы видеть во всем. – kingcobra1986
Хорошая среда IDE поможет вам перемещаться по коду, запускать сеансы отладки и проверять значения свойств во время выполнения.
Я чувствовал себя влюбленным в PHPStorm несколько лет назад, и до сих пор это моя любимая IDE. У него даже есть плагин Vim, который эмулирует vim =)
Существует структурный вид на эту IDE, которая показывает структуру кода :). Это означает каждое свойство и метод открытого файла класса. Существует представление Project, которое похоже на браузер каталога.
Вторая рекомендация - установить ack (http://www.beyondgrep.com). PHPStorm имеет действительно эффективный механизм поиска, но иногда вам просто нужно искать все подкаталоги проекта для регулярного выражения. Это отличный инструмент.
Мои два цента. :)
Знаете ли вы о бесплатной среде IDE, которая это делает? – kingcobra1986
Я использовал код с vim и его плагинами. Ack является бесплатным и имеет интеграцию с vim. Но вы должны серьезно рассмотреть IDE реактивных мозгов. У него был план, в котором вы каждый месяц загружаете сборки и используете (помогая тестировать) в течение месяца, свободно. – Niloct
@ kingcobra1986 Извините за поздний комментарий, но в настоящее время я больше не использую phpstorm, потому что обнаружил vdebug. Я даже разблокировал исправление ошибки, это интерфейс vim для xdebug: https://github.com/niloct/vdebug (так что это все бесплатно). – Niloct
- 1. [печать "Всего Фрукты% D" % fruits.fruitsCount] и [печать "Всего фруктов", fruits.fruitsCount]
- 2. Печать всего процесса mergeSort
- 3. Печать всего один раз
- 4. Печать всего шаблона
- 5. Отладка сгенерированных классов GWT
- 6. Отладка библиотеки классов
- 7. Отладка файлов классов
- 8. Отладка/печать в сценарии Hubot
- 9. Печать классов и подклассов
- 10. Печать пула классов OSGI?
- 11. Python: печать вложенных классов
- 12. Word VBA Печать всего документа
- 13. Печать всего в моем контексте
- 14. Печать всего содержимого модального окна
- 15. ASP - печать всего содержимого запроса
- 16. Отладка классов пользовательского установщика C#
- 17. Отладка PHP
- 18. Отладка всего HTTP [S] на node.js
- 19. Печать toString из разных классов
- 20. Печать нескольких классов с помощью
- 21. Печать/отладка libC++ STL с XCode/LLDB
- 22. «Отладка» не содержит определения для «Печать»
- 23. Несколько классов, как лучше всего продолжить
- 24. Печать статического содержимого после всего содержимого
- 25. Печать всего внутри каталога ssh python
- 26. печать всего содержимого массива в C#
- 27. C++: Шаблоны: Частичная Специализация: Печать всего шаблона
- 28. Печать всего PID из результата команды tasklist
- 29. Печать всего вывода в команде Out-File
- 30. Проблема с for loop печать всего массива
get_class_methods делает возвращение методов из класса, но почему дон» Вы открываете библиотеку и просто читаете код? – PAlphen