Si alguna vez has tenido que lidiar con código ajeno, o has integrado algún paquete de clases de terceras partes, o trabajado con algún API que te devuelva los datos en forma de objeto; probablemente hayas tenido la necesidad de conocer los métodos disponibles para interactuar con un objeto. Si a eso le sumamos una documentación pobre de las clases que vamos a usar, estamos ante un buen dolor de cabeza y unas cuantas horas de tiempo perdido estudiando el código para poder trabajar.

Éste fin de semana tuve ese problema, y buscando un poco, encontré dos métodos de php que se han convertido en imprescindibles para mí.

La primera función nos permite conocer el nombre de la clase de un objeto

PHP:
  1. string get_class(OBJECT);

Que pasándole como parámetro el objeto, nos devolverá un string con el nombre de la clase.

La segunda es si cabe aún más útil, ya que para una clase, nos devuelve un array con la lista de metodos públicos disponibles.

PHP:
  1. array get_class_methods(string class_name);

Imaginad ahora qué bonito lo que obtenemos, si combinamos éstos dos métodos:

PHP:
  1. $objetoMisterioso;
  2. $metodosDisponibles=get_class_methods(get_class($objetoMisterioso));
  3. print_r($metodosDisponibles);

Que nos devolverá algo parecido a:

CODE:
  1. Array(
  2. [0]=>getMethod
  3. [1]=>setMethod
  4. [2]=>delElement
  5. );

Realmente útil y nos ahorrará mucho tiempo cuando trabajemos con objetos que no conocemos del todo bien.

Si alguno programa en PHP quizás se haya encontrado alguna vez en la situación de necesitar conocer algún atributo de una imagen (altura, anchura o extensión ...).
A mí me ha ocurrido esta tarde, modificando cosillas en ésta página. Quería colocar una serie de imágenes y que éstas se redimensionaran para ajustarse aun espacio. Todo iba bien si la imagen era de mayor o igual tamaño que el espacio, ya que al reducirla no perdía calidad, pero si ésta era más pequeña, perdía calidad o se distorsionaba.
Así que buscando un poco, para conseguir averiguar el tamaño de la imagen desde el código y así poder redimensionarla o no en cada caso, encontre la función getimagesize(); de PHP, que además no depende de librerías como Imagemagik o GD.

getimagesize( string ); lee una cadena con la ruta de la imagen, y devuelve un array en el que sus posiciónes corresponden a :
[0] : ancho en pixeles de la imagen
[1] : alto en pixeles de la imagen
[2] : flag indicador de la extensión de la imagen {consultar el manual de PHP}
[3] : string con los valores height y width , listos para usar en una etiqueta IMG de HTML

Una función muy util para todo webmaster.

Si quieres más información cosulta la documentación de la función en el manual de PHP