Ya está disponible mi libro de programación orientada a objetos en PHP

Con un pequeño retraso pero ya está disponible mi libro de programación orientada a objetos en PHP.

En mi humilde opinión es un libro que merece la pena. En él comparto muchos años de experiencia desarrollando en PHP. Todo lo que he aprendido, lo que he sufrido y lo que me he divertido programando está reflejado en sus páginas.

Está todavía en fase “Beta” ¿qué quiere decir eso? Que todavía no está terminado y puede haberse colado algún errorcillo. Para compensarlo el precio es mucho más bajo de lo que será el precio definitivo. Pero “sin terminar” no quiere decir que tenga pocas páginas, son ya casi 120 páginas de pura sabiduría :-D.

El fatídico logo

Los capítulos del libro de PHP orientado a objetos

Acabo de publicar el listado provisional de capítulos del libro programación orientada a objetos en php. Más o menos serán éstos:

  1. Herramientas
  2. El estándar PSR
  3. Introducción express a PHP
  4. Programación orientada a objetos
  5. Un ejemplo paso a paso
  6. Encapsulación
  7. Herencia
  8. Introducción al desarrollo guiado por pruebas
  9. Interfaces
  10. Clases abstractas
  11. Introducción a Git
  12. Términos y definiciones

Es posible que los reorganice pero seguramente éste será el orden final. Todavía faltan algunos más para terminar el libro.

Para aprender a programar con objetos en PHP (pero de verdad)

Si llevas años programando en PHP y te asustan los objetos estás de enhorabuena 😀 Estoy preparando un libro para aprender a programar con objetos en PHP (pero para aprender de verdad).

Está ya listo al 80%, el prelanzamiento será en unos pocos días.

Interfaces, Clases Abstractas, Traits, estos conceptos y muchos más se explican en el libro. Y los entenderás de verdad, qué son y para qué se usan. También hablaré de buenas prácticas, principios SOLID, patrones de diseño y herramientas muy útiles como Composer, PHPUnit o Git.

El fatídico logo

Limpiar la caché de SOAP en PHP

Todo el que ha probado a trabajar con SOAP en PHP sabe que no es precisamente una delicia. Cuando te enfrentas con SOAP por primera vez en tu vida te puedes pasar varios días hasta que consigues hacerlo funcionar (y eso que hoy en día es mucho más fácil). Pero esta maravillosa tecnología siempre puede darnos algunos disgustos adicionales.

Por ejemplo, cuando cambias el nombre de uno de los servicios (o webservices) puede que te encuentres con este error:

Server did not recognize the value of HTTP Header SOAPAction

Si compruebas en la llamada que haces a SOAP seguramente el nombre que estás usando sea el correcto. Entonces ¿a qué viene este error? Lo más probable será que la llamada está usando la caché así que tendrás que “limpiarla”.

Tienes dos opciones:

1) Desactivar la caché temporalmente:

$this->nusoapDefault = new SoapClient( $soapUrl, [ 'cache_wsdl' => WSDL_CACHE_NONE ] );

Esto hará que las próximas llamadas no usen la caché. El problema es que tendrás una pequeña pérdida de rendimiento. Puedes mantener esto mientras haces pruebas pero cuando termines será mejor borrar la caché.

2) Borrar la caché de SOAP.

Los ficheros de la caché de SOAP se almacenan en la carpeta /tmp (en un servidor tipo Linux), normalmente dentro de subcarpetas cuyos nombres empienzan por wdsl. Éstas puedes borrarlas tranquilamente (ojo no borres otras cosas de la carpeta /tmp).

Por cierto, estoy escribiendo un nuevo libro de Programación Orientada a Objetos en PHP. Sígueme en twitter y no te lo pierdas. Va a ser un bombazo.

¿Por qué prefiero Vagrant sobre Wamp Server?

Hoy he publicado en el blog de Urlan Heat un artículo contando por qué prefiero usar Vagrant para crear mis entornos de desarrollo en lugar de usar Wamp o tener un servidor Apache y MySQL instalado en mi ordenador.

Si no has probado Vagrant te recomiendo que le eches un vistazo.

¿Por qué es mejor usar Vagrant que Wamp o similares?

Programación orientada a objetos en PHP. 3: Encapsulación

Otra entrega más (y ya van tres) del mini curso de programación orientada a objetos en PHP. Esta vez hablo de encapsulación. No te lo pierdas:

Programación orientada a objetos en PHP capítulo 3: ¿Por qué no hacer todo public? (Encapsulación).

Programación orientada a objetos en PHP 2: Constructores y destructores

Y aquí va la segunda entrega del minicurso de programación orientada a objetos en PHP. Esta vez toca el turno a los constructores y a los destructores. Si todo va bien mañana publicaré el enlace al vídeo.

Programación orientada a objetos en PHP 2: Constructores y destructores