Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

¿Por qué no debemos usar require_once en PHP? ¿Qué soluciones tengo?

Cuando desarrollamos es muy frecuente que necesitemos leer código de otros ficheros, los lenguajes y las tecnología difieren en la forma, pero es algo básico y común a todos ellos (salvo excepciones). En PHP una forma cómoda de hacerlo es con require_once o include_once.

¿Por qué cómoda? Porque incluimos ficheros sin preocuparnos de si ya han sido incluidos. PHP lo hace por nosotros.

¿Qué problema hay? PHP al buscar si han sido incluidos o no, consume una cantidad de recursos y de tiempo de ejecución que siempre que podamos, debemos ahorrárnoslo.

¿Qué soluciones hay frente a este problema? Voy a detallar algunas de ellas, pero seguro que tú conoces alguna más que te funciona.

Usar un framework o un CMS

Si usas un entorno de este tipo, probablemente él te dote de funciones similares en funcionalidad que esquivan este problema. Por ejemplo en WordPress uso mucho get_template_part.

Indicar mediante define si se ha incluido o no

La idea sería algo así:

De esta forma, con esta bandera, ya tenemos siempre presentes si está incluido o no (podemos hacer una función con ese código para reutilizarlo).

Comprobar si existe la clase o la función

Si nuestra intención es insertar un fichero, será porque queremos o mostrar parte de él, o muy probablemente incluir funciones o clases en nuestro espacio de nombres actual. Para evitar problemas con definir dos veces las funciones, podemos hacer comprobaciones del tipo en todo nuestro código:

¿Qué os parecen? ¿Usáis algo mejor o al menos diferente para atajar este problema?

Leer entrada anterior
Premios PortalProgramas – Mejor Software Libre de 2012

Este medio colabora con estos importantes premios, los más importantes diría yo que se celebran a este nivel en la...

Cerrar