Eh bien, je me pose simplement la question suivante: il y a deux façons de mettre cela en œuvre. Qu'est-ce qui conviendrait mieux aux normes de codage? Ou est-ce juste une question de personnelle?
Et qu'en est-il de php et de la mémoire, en supposant que ce soit beaucoup plus compliqué et exécuté très souvent. Cela coûterait-il plus de mémoire de créer une fonction ou une variable?
Solution 1:
function stuff(){
[...]
$fluid = ( current_theme_supports('greatness') ) ? '-greatness' : '';
$output = '<div class="box' . $fluid . '">';
[...]
}
Solution 2:
function stuff_alternative(){
[...]
$output = '<div class="box' . bootgen_is_great() . '">';
[...]
}
function bootgen_is_great(){
if ( current_theme_supports( 'greatness' ) )
return '-greatness';
}
La mémoire n'est pas le problème ici. Il n'y a pas d'opérations complexes et la différence sera presque impossible à mesurer.
Ce qui compte, c’est la lisibilité: si votre fonction stuff
est plutôt courte (moins de huit étapes fonctionnelles) et que vous utilisez le contrôle une seule fois, conservez-le.
Mais si vous avez besoin de l’assistance technique, séparez-la par différentes fonctions.
Je préférerais optimiser les noms : greatness
n'est pas très descriptif, et même si j'aime les schémas fluides, ils ne sont pas synonymes de superbes schémas. :)
En outre, il s’agit d’un nom personnalisé, il est donc préfixé par afin d’éviter les collisions avec les plugins et d’avertir le lecteur non informé plus tard) qu'il est quelque chose de personnalisé.
Suggestion pour un thème nommé wpse51275:
function wpse51275_box()
{
// some awesome code …
$box_class = 'box';
current_theme_supports( 'wpse51275_fluid_layout' ) and $box_class .= '-fluid';
$output = "<div class='$box_class'>";
// more awesome code …
}