Comment combiner des fonctions quasi identiques, à l'exception d'un paramètre?
Posté : 01 sept. 2016, 06:56
Bonjour à tous,
Je débute en PHP, et mon code me parait bien lourd. Prenons ces 2 fonctions (j'en ai 12 au total), et examinons les différences :
J'utilise Wordpress, et je compte me faire un petit système maison pour éviter de réécrire encore et toujours les même loops et autres paramètres redondants. Ces deux fonctions sont similaires en tous points, si ce n'est dans la déclaration , qui change en grid-11 (puis 10, 9, 8 ... 2, et finalement 1).
Ma question va vous parraitre bête, mais y a-t-il un moyen a base de n+1 qui me permettrait (1) de dynamiquement créer une série de fontions et (2) qui appliquerais ce même ajout à ma classe css dans l'echo
Merci d'avance pour vos lumières.
PS : Joli forum cela dit en passant... c'est propre, clean, et ergonomique
Je débute en PHP, et mon code me parait bien lourd. Prenons ces 2 fonctions (j'en ai 12 au total), et examinons les différences :
Code : Tout sélectionner
function get_my_content_grid_11() {
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$my_current_type_in_use = get_post_type( $post );
echo'<section class="grid-11 ', $my_current_type_in_use, ' primary-section">
<article class="', $my_current_type_in_use, ' primary-section-article">
<header class="', $my_current_type_in_use, ' primary-section-article-header">
<h1 class="', $my_current_type_in_use, ' primary-section-article-header-title">', the_title(), '</h1></header>
<div class="', $my_current_type_in_use, ' primary-section-article-content">', the_content(), '</div>
</header>
</article>';
endwhile;
if ( comments_open() || '0' != get_comments_number() )
echo'<article class="', $my_current_type_in_use, ' primary-section-article-comments">'
, comments_template( '', true );
echo'</article></section>';
endif;
}
function get_my_content_grid_12() {
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$my_current_type_in_use = get_post_type( $post );
echo'<section class="grid-12 ', $my_current_type_in_use, ' primary-section">
<article class="', $my_current_type_in_use, ' primary-section-article">
<header class="', $my_current_type_in_use, ' primary-section-article-header">
<h1 class="', $my_current_type_in_use, ' primary-section-article-header-title">', the_title(), '</h1></header>
<div class="', $my_current_type_in_use, ' primary-section-article-content">', the_content(), '</div>
</header>
</article>';
endwhile;
if ( comments_open() || '0' != get_comments_number() )
echo'<article class="', $my_current_type_in_use, ' primary-section-article-comments">'
, comments_template( '', true );
echo'</article></section>';
endif;
}Code : Tout sélectionner
echo'<section class="grid-12 'Ma question va vous parraitre bête, mais y a-t-il un moyen a base de n+1 qui me permettrait (1) de dynamiquement créer une série de fontions
Code : Tout sélectionner
"get_my_content_grid_n(+1)"Code : Tout sélectionner
<section class="grid-n+1''PS : Joli forum cela dit en passant... c'est propre, clean, et ergonomique