Prácticas erróneas que cometen los desarrolladores de PHP - Instituto FOC | Informática ONLINE | FP Informática ONLINE

Especialistas en Informática

Prácticas erróneas que cometen los desarrolladores de PHP

En la actualidad hay muchas aplicaciones realizadas por los desarrolladores de PHP. Muchos de estos desarrollares caen en los siguientes errores a la hora de realizar un desarrollo web.

Los principales errores que suelen cometer son:

1.- Utilizar el motor de base de datos MyISAM en vez de INNODB.

Normalmente en las bases de datos MySQL se suele poner por defecto el motor de base de datos MyISAM. Este motor no permite establecer claves foráneas o la utilización de transacciones. Por lo que si queremos crear una base de datos consistente MyISAM se nos quedara corto.

Mi recomendación es que siempre se utilice INNODB para, al menos, mantener la integridad referencial de los datos con los que vamos a interactuar con nuestras aplicaciones.

2.- Utilizar las funciones mysql de php

Otro error muy común es la utilización de las funciones que proporciona php para acceder a una base de datos MySQL. Desde la versión de PHP 4.1..3 tenemos disponible la clase MySQLi que dispone de constructores y método para realizar una gestión mucho mas eficiente de las sesiones con MySQL.

3.- No sanear la entrada de datos

Un error muy común es no proteger nuestros formularios de la inyección sql. Una de las formas mas correctas de evitar que se produzcan este tipo de ataques es no permitir caracteres como «‘» o «;» que puenda hacer ejecutar una sentencia SQL distinta de la que nosotros utilizamos.

4.- No utilizar UTF-8

Por defecto las bases de datos MySQL utilizan una calificación UTF8 pero los desarrolladores de PHP al realizar las web utilizan otro tipo de codificación basados en el idioma o paÃís en el que realizan la página.  Esto implica que la información que se almacena en nuestra base de datos no se introduce de forma correcta.

Para que no suceda esto lo mejor es utilizar siempre UTF8 de esta forma aseguramos que nuestra página se visualice bien en cualquier sitio.

5.- Favorecer el uso de PHP sobre SQL

Siempre debemos tener claro que debemos dividir la carga entre los distintos sistemas que nos componen nuestra aplicación. Así si nosotros queremos saber una media o el número de ventas producido en una fecha. Es mas simple y rapido realizar sobre SQL que utilizar PHP para realizar el cálculo sobre toda la información que obtenemos de la base de datos.

Muchos desarrolladores no tienen en cuenta esto y provocan que sus páginas tarden mas en cargarse para realizar una operación que desde la base de datos se realiza en pocos segundos.

6.- No optimizar las consultas realizadas en nuestros programas.

A la hora de realizar las consultas, en la gran mayoría de los casos, si esta muestra la información que deseamos la dejamos como esta. Esto puede provocar que cuando incremente nuestro volumen de datos esta consulta tarde mas en ejecutarse de lo esperado.

Muchos desarrolladores no conocen la orden de MySQL Exaplain. Esta orden de MySQL realiza un análisis de nuestra consulta mediante el cual podemos ver en que parte de nuestra consulta ralentiza la devolución de resultados y podremos optimizar la consulta para que se ejecute mas rápido.

7.- Utilizar tipos de dato erróneos para almacenar la información.

8.- Utilizar el * en las consultas select

Un error muy común a la hora de interaccionar con las bases de datos es realizar consultas en las que me devuelvan todos los campos de una tabla o vista. Esto puede hacer que tarden mas en visualizar el resultado de nuestra página ya que tiene que procesar toda la información cuando nosotros, en la mayoría de los casos, solo vamos a utilizar unas columnas determinadas.

Lo recomendable es evitar el * y seleccionar aquellas columnas que vamos a necesitar para nuestras páginas en PHP.

9.- Olvidar realizar backups

Espero que todas estas recomendaciónes las tengáis en cuenta en futuro para vuestros desarrollos sean en PHP o en otro lenguaje.

Certificaciones Profesionales

¿Necesitas ayuda?