PHP: modo migliore per stampare html in condizioni if-else

3

Si prega di fare riferimento alle seguenti due forme dello stesso codice

Per prima cosa:

<?php if(some_condition){
?>
    <li><a target="_blank" href="example.com/channel1/"  class="xyz">If content</a></li>
<?php
}else{
?>
    <li><a target="_blank" href="example.com/channel2/"  class="xyz">Else Content</a></li>

<?php?>
}?>

Secondo:

<?php 
    if(some_condition){
       echo '<li><a target="_blank" href="example.com/channel1/"  class="xyz">If content</a></li>';
    }
    else{
        echo '<li><a target="_blank" href="example.com/channel2/"  class="xyz">Else Content</a></li>';
    }
 ?>

La mia domanda è quale dei seguenti è un'opzione migliore. So che il secondo è più leggibile. Ma se ci sono così tante condizioni sulla stessa pagina, allora quale è meglio per quanto riguarda le prestazioni (credo, ci sarà solo una differenza di prestazioni trascurabile tra i due).

Mi piacerebbe conoscere le tue opinioni / punti, riguardo le prestazioni degli standard e qualsiasi cosa tu pensi che dovrei sapere, riguardo le due diverse forme.

(E che dovrebbe essere preferito rispetto all'altro, quando c'è solo un blocco if-else e più blocchi if-else)

Grazie

    
posta kadamb 21.09.2017 - 14:19
fonte

2 risposte

2

Direi che il primo esempio è il migliore dei due mali in quanto è più mantenibile. L'HTML è scritto così com'è e non codificato come stringa letterale.

L'utilizzo di modelli o di un altro modo per mantenere separate la logica aziendale e la presentazione HTML di solito genera un codice più gestibile.

    
risposta data 22.09.2017 - 06:56
fonte
2

Come sempre, la risposta breve e probabilmente la più corretta: dipende.

Per espandere:

Per i due frammenti in questo breve come mostrato nella domanda si tratta di puro gusto. Non c'è una strong ragione tecnica per l'una sull'altra. In un contesto più ampio la domanda è "sono quei modelli piuttosto HTML con una piccola logica in mezzo o sono quelle parti di codice con un sacco di logica e un po 'di HTML?"

Naturalmente, se si tratta principalmente di logica, una buona idea è quella di esaminare la libreria di template come Twig o altri e separare la logica dall'output in misura maggiore, che consente di testare e modificare i formati di output più facilmente.

    
risposta data 21.09.2017 - 14:42
fonte

Leggi altre domande sui tag