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

Creando un tema desde cero para WordPress parte 1: Consideraciones previas
Creando un tema desde cero para WordPress parte 1: Consideraciones previas
1. Creando un tema desde cero para WordPress: Consideraciones previas 2. Creando un tema desde cero para WordPress: Escribiendo el tema 3. Creando un tema…
Resolución de los ejercicios del taller de expresiones regulares en WordCamp Sevilla
Resolución de los ejercicios del taller de expresiones regulares en WordCamp Sevilla
En este post voy a tratar de explicar la resolución a los 5 ejercicios que propuse en el taller de expresiones regulares de la WordCamp…
Cómo realizar un formulario de contacto personalizado en WordPress sin Plugins
Cómo realizar un formulario de contacto personalizado en WordPress sin Plugins
Para realizar un formulario de contacto personalizado en WordPress podemos utilizar los conocidos plugins contact form 7 o gravity forms. Si no queremos recurrir al…
Cómo definir una plantilla diferente por categoría para el detalle de los posts
Cómo definir una plantilla diferente por categoría para el detalle de los posts
En WordPress se usa la plantilla single.php para el detalle de los posts. Podemos crear plantillas para los posts de un custom post type concreto…