Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
WordPress Code Snippets

PHP tip, comprueba si una variable existe y tiene un valor concreto

Hoy me animo a escribir de nuevo un artículo en el blog después de mucho tiempo. En esta ocasión es simplemente un truquillo o consejo para cuando estés desarrollando un plugin o theme, por ejemplo.

Si alguna vez has desarrollado sobre PHP, es muy probable que te hayas encontrado con muchos Notices porque una variable no existe. Es entonces cuando tiramos de un if (isset($var))… y dentro de ese if, ya hacemos lo que queramos con ella.

Y muchas de esas veces, comprobamos con otro if si la variable tiene algún valor concreto para realizar una acción. Es decir, algo tipo:

Tenemos dos ifs anidados para realizar nuestra acción. En el segundo de ellos utilizamos una yoda condition, donde la constante (en este caso true) va en el lado derecho de la comparación. Si tienes curiosidad te dejo más información aquí.

Pero eso de tener dos ifs anidados… a mucha gente le produce urticaria. ¿podemos hacerlo en una línea? La respuesta es sí, y quedaría algo más elegante:

Simplemente utilizamos un operador ternario, donde preguntamos si nuestra variable existe. En caso afirmativo devolvemos el valor de la variable y en caso negativo devolvemos null. Y esta respuesta de nuestra ternaria la igualamos a true. Si se cumple, entramos dentro del if.

Aún podemos darle una vuelta de tuerca más. Si trabajas sobre versiones PHP 7.0 o superiores, podemos utilizar el operador de fusión de null (??). Devuelve su primer operando si existe y no es null, de lo contrario devuelve su segundo operando:

De este modo evitamos una doble anidación y queda nuestro código más limpio. Además evitamos esos desagradables Notices que aparecen si no haces estas comprobaciones antes de utilizar variables.

Puede que también te interese

WP-CLI Parte 9, paquetes de comandos adicionales
WP-CLI Parte 9, paquetes de comandos adicionales
1. Instalación y primeros pasos 2. Instalando WordPress y primeros pasos y configuraciones 3. Trabajando con posts 4. Trabajando con usuarios 5. Trabajando con la…
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…
Todo lo que hay que saber sobre las imágenes destacadas o post thumbnails en WordPress
Todo lo que hay que saber sobre las imágenes destacadas o post thumbnails en WordPress
Los post thumbnails o imágenes destacadas es una característica que se introdujo en la versión 2.9 de WordPress. Permite asignar una imagen representativa a las…
Mejora la puntuación de Google PageSpeed Insights: Eliminar el CSS que bloquea la visualización del contenido de la mitad superior de la página
Mejora la puntuación de Google PageSpeed Insights: Eliminar el CSS que bloquea la visualización del contenido de la mitad superior de la página
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…