Buenas prácticas PHP y recomendaciones para el Desarrollo Web
PHP es el lenguaje de servidor con más penetración en el ámbito la web y es el motor de las herramientas más extendidas, como WordPress. Se ha convertido en un lenguaje popular, usado por todo tipo de profesionales y aficionados. Pero tanta popularidad también puede resultar negativa y, de hecho, es la raíz del mayor defecto de PHP: las malas prácticas de los desarrolladores. En este artículo, queremos hacer un resumen de las prácticas más importantes y aconsejables para trabajar con PHP. Algunas de ellas son realmente básicas y esperamos que las estés llevando a la práctica. Otras de ellas, seguramente, te darán pistas sobre qué puedes mejorar en tus proyectos. Al resultar un lenguaje accesible y usado por tantas personas, con más o menos formación, es muy fácil caer en errores o prácticas no deseables. En fin, muchas veces se ha acusado a PHP de producir el denominado código espagueti, aplicaciones inseguras, tener un bajo rendimiento, etc., sin embargo, los responsables somos los propios desarrolladores en la mayoría de los casos.
Usar la versión estable más moderna
No debemos olvidar nunca que PHP es un software libre y, como tal, se conocen las vulnerabilidades de versiones antiguas. Por ello es fundamental mantenerse actualizado y usar las versiones más nuevas, que nos ofrecen mayor seguridad en nuestros entornos de servidor. ¡Nunca debería haber una excusa para no actualizar PHP!
PHP 7
Justo al hilo del punto anterior, queremos recomendar el uso de versiones de PHP 7 en adelante, ya que prácticamente duplican o triplican el rendimiento del lenguaje.
Composer
Composer es el software que sirve para gestionar de una manera ágil las dependencias de aplicaciones PHP. Permite instalar las librerías que vayamos a usar, pero también nos ayuda a mantenerlas actualizadas. Si no conoces ya Composer, deberías prestarle atención. Además te ofrece cosas tan útiles como un auto-load de clases, lo que permite una más fácil organización del código.
Extensión de MySQL
Hace muchos años que la vieja extensión de MySQL ha quedado obsoleta y sin embargo muchos proyectos poco actualizados aún la usan. Es el principal escollo que tienen las aplicaciones para migrar a la versión PHP 7. Ten cuidado cuando leas tutoriales antiguos en Internet y asegúrate de aprender y usar siempre la extensión moderna, llamada MySQLi.
PDO
Aún mejor que usar MySQLi sería programar con PDO, que es una capa de abstracción de base de datos, que permite trabajar con un código único, tanto si usas MySQL u otros motores como SQLite, PostgreSQL, SQL Server, Oracle… Esta herramienta te asegura que migrar entre una base de datos y otra sea algo prácticamente inmediato, a la vez que te marca un estilo de programación con prácticas más adecuadas en el trabajo con las bases de datos.
Sistemas de templates
Para evitar el código espagueti hay que asegurarse de separarlo por responsabilidades. En PHP habitualmente se mezcla el código de reglas de negocio, junto con el código de acceso a base de datos y el código HTML de la presentación. Este esquema de trabajo es muy complicado de mantener y produce también proyectos difícilmente escalables. El primer paso para separar el código por responsabilidades es aislar la capa de presentación, algo que conseguimos fácilmente si usamos un sistema de templates. Hay muchos y resulta en principio indiferente cuál usar: Plates, Twig, Smarty…
Seguridad
Este apartado merece la pena tratarlo como un tema independiente, ya que la seguridad es uno de los asuntos más importantes a la hora de hacer un desarrollo adecuado. Si tenemos en cuenta la actualización del software del servidor, la versión del lenguaje y de las librerías con las que estamos trabajando, ya habremos hecho bastante, ya que la mayoría de los ataques aprovechan vulnerabilidades conocidas del software de terceros. Pero también hay que prestar atención a la configuración de PHP, el modo que montamos las sentencias SQL, cómo se encriptan las claves, etc.
Usar frameworks
Son muy interesantes puesto que nos ofrecen una base de código repleta de buenas prácticas. Si usamos un framework seguramente estaremos adoptando de manera natural todos los puntos anteriores explicados en este artículo, y muchos otros también importantes. Existen cantidad de frameworks recomendables, aunque en la actualidad los dos más populares para PHP son Laravel y Symfony.
¿Servidores propios o alojamiento compartido?
Usar un alojamiento compartido nos ahorra muchas complicaciones a la hora de gestionar un sitio web. En estos casos el personal de Arsys es el responsable de mantener al día el servidor y el software en general que se encuentra instalado en él. Sin embargo, contar con un VPS, Servidor Cloud o Dedicado nos ofrece enormes posibilidades de configuración, algo que es esencial en proyectos de más envergadura. En caso que tengamos que gestionar nuestro propio servidor, es importante tener un conocimiento detallado sobre la plataforma y ocuparnos de mantenerla actualizada. Si tienes cualquier duda o necesidad en este sentido, recuerda que siempre puedes pedirnos ayuda.
Este artículo es sólo una selección de las recomendaciones más útiles de PHP: The Right Way, donde encontrarás mucha más información, pero creemos que son los puntos fundamentales para hacer un uso correcto de PHP. También te recomendamos consultar al vídeo del webinar que impartimos recientemente