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

Cómo cambiar el tipo de Custom Post Type en WordPress
Cómo cambiar el tipo de Custom Post Type en WordPress
En WordPress podemos crear diferentes tipos de contenido, los Custom Post Type. A la hora de registrarlos utilizamos la función register_post_type( $post_type, $args ); El primero…
Reduce el HTML de tu WordPress para bajar el peso de la página
Reduce el HTML de tu WordPress para bajar el peso de la página
La parte pública de una web o expresado de otro modo, lo que el navegador pinta, no es más que un documento HTML, donde encontraremos…
La famosa instalación de WordPress en 30 minutos
La famosa instalación de WordPress en 30 minutos
Con este título tuve el honor de participar como ponente en la pasada WordCamp Sevilla 2016, celebrada en la Escuela de Organización Industrial (EOI). Antes…
Creando un plugin para WordPress parte 3: Escribiendo el plugin
Creando un plugin para WordPress parte 3: Escribiendo el plugin
1. Creando un plugin para WordPress: Planificación y planteamiento 2. Creando un plugin para WordPress: Estilo del Código 3. Creando un plugin para WordPress: Escribiendo…