Skip to content
Advertisement

Undefined variables in PHP template

I use PHP as a template language in my view layer, Is it possible to make the following a little cleaner and more concise?

//in temp.phtlm
<?= (isset($user['name'])) ? $user['name'] : null; ?> 

Unfortunately, we can not even define a function for that:

// as you know yet a notice is generated when calling a function with an undefined parameter
function echo($var)
{
        return (isset($var)) ? $var : null;
}

Advertisement

Answer

Using @ operator is the shortest alternative.

<?= @$user['name']; ?> 

Since PHP 7 you can also use the ?? operator.

<?= $user['name'] ?? null; ?> 

Which does exactly what the @ operator does, though a bit longer.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement