Estoy trabajando con Views 2 en Drupal 6, y tengo dificultades para encontrar documentación sobre los métodos del objeto View. ¿Hay alguna función de PHP como print_r que muestre métodos y campos?print_r para obtener métodos de objetos en PHP?
Respuesta
Creo que estás buscando get_class_methods. Si este es el caso, get_class_vars también puede interesarle.
El Reflection API puede ser de su interés (si no es excesivo). Específicamente: -
<?php
Reflection::export(new ReflectionClass('View'));
?>
Consulte el manual para obtener ejemplos más detallados.
Más flexible que get_class_methods porque también puede obtener parámetros y comentarios. – Kris
También es útil: 'get_class ($ object);' Cuando se trata de un objeto generado de una clase generada, puede pasar esto al constructor ReflectionClass. Ver http://php.net/manual/en/function.get-class.php –
Además de las funciones mencionadas por Mathachew, también puede consultar Reflection, especialmente la clase ReflectionClass
.
$class = new ReflectionClass('YourViewClass');
$class->getMethods();
$class->getProperties();
I escribió esta función simple que no sólo muestra los métodos de un objeto dado, sino que también muestra sus propiedades, encapsulación y alguna otra información útil, como notas de la versión si se les da.
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>";
}
Para mostrarle cómo funciona, creé una clase de ejemplo aleatoria. Vamos a crear una clase llamada Persona y colocar algunas notas de la versión justo por encima de la declaración de clase:
/**
* 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;
}
}
Ahora vamos a crear una instancia de una persona y se envuelve con nuestra función.
$Wictor = new Person("27.04.1987", 170, 70, "Wictor");
TO($Wictor);
Esta información es la salida sobre el nombre de clase, parámetros y métodos, incluyendo información encapsulación y el número y nombres de los parámetros para cada método, la ubicación método y líneas de código donde existe. Vea el resultado a continuación:
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 ]
Espero que lo encuentre útil. Saludos.
- 1. php print_r nice table
- 2. php var_dump() vs print_r()
- 3. Java: print_r?
- 4. ¿Existe un equivalente de print_r de PHP en Ruby/Rails?
- 5. ¿Cómo puedo obtener objetos de función de métodos en Scala?
- 6. jQuery: print_r() pantalla equivalente?
- 7. utilizando una matriz PHP print_r resultado en javascript/jquery
- 8. Print_r equivalente en Liquid
- 9. ¿Cuál es el equivalente de Perl a print_r() de PHP?
- 10. Obtener solo los métodos declarados de una clase en PHP
- 11. poniendo resultados print_r en la variable
- 12. ¿Qué significa "1" al final de una declaración php print_r?
- 13. Almacenamiento de objetos en una matriz con php
- 14. php var_dump ($ object) o print_r ($ object) en un archivo de registro
- 15. Métodos estáticos en PHP
- 16. PHP obtener diferencia de dos matrices de objetos
- 17. tratando de obtener la propiedad de no objetos? PHP/Codeigniter
- 18. persistencia de objetos en php
- 19. Métodos en Ruby: ¿objetos o no?
- 20. obtener objetos en NSMutableArray
- 21. Validación de objetos PHP
- 22. ¿Cuál es el equivalente de JavaScript de var_dump o print_r en PHP?
- 23. Configuración de métodos múltiples en PHPUnit objetos simulados
- 24. Adición de métodos de objetos implícitamente
- 25. difícil de entender print_r/var_dump para el objeto
- 26. Alternativa de constructor para métodos estáticos en PHP
- 27. ¿Por qué revisaría Assigned (self) en métodos de objetos?
- 28. ¿PHP tiene una sintaxis corta para objetos?
- 29. ¿Cómo aprendo los métodos a los que se puede acceder para ciertos objetos?
- 30. Cómo enviar objetos en PHP
Se votó positivamente si no fuera por las restricciones de SO. Buen trabajo. – mcandre