Função auxiliar de template php nativo

Ajudante de modelo para PHP

  • Para auxiliar na saída de matrizes de dados para uma página, usei os heredocs php nativos, array_map, funções anônimas (Lambda) para criar fechamentos [introduzidos no PHP 5.3] e uma função auxiliar de saída.

Função auxiliar de saída

// If var not empty then return result otherwise return the var
$if
= function ($var, $result = false) {
return empty($var) ? false : ($result ? $result : $var);
};

Uso: Exemplo Básico

<h1 class="name"><?= $if($single_details["title"]); ?></h2>

Uso: Exemplo Avançado

<?= $if($group_social, $social_icons_markup($group_social)) ?>

// Render social item

$renderSocialItem = function ($outlet) {

$type = $outlet["type"];

$url = $outlet["url"];


return <<< EOD

<a class="{$type}" href="{$url}" target="_blank">
<span class="icon"></span>
</a>
EOD;

};


// Create a closure using anonymous function

$social_icons_markup = function ($group_social) use ($renderSocialItem) {

return implode(array_map($renderSocialItem, $group_social));

};

?>