Prática recomendada para PHP

11

Ao fazer um template como single.php e você ter o php envolto em html, é melhor:

  1. Iniciar + Parar PHP? por exemplo

     <h1 class="post-tilte"><?php the_title(); ?></h1>
     <p class="post-content"><?php the_content();?></p>
    

Ou

  1. Echo HTML e Escape PHP? Por exemplo -

    <?php echo '<h1 class="post-title">' . get_the_title() . '</h1>
    <p class="post-content"' . get_the_content() . '</p>
    

Eu não tenho uma escolha prévia e me vejo fazendo os dois, apenas curioso para ouvir alguns pensamentos

    
por Joey Urbansoul 28.02.2017 / 14:58

5 respostas

10

Essa questão é relevante apenas porque o WordPress usa uma mistura de uma linguagem de programação e linguagem de layout. Se você usasse uma linguagem de modelo, sintaxe, que este tópico não é relevante. Mas a sua pergunta. Se você usar sua fonte de exemplo para um tema, muito mais linguagem de layout, como html, então eu prefiro o primeiro - é muito mais legível para o designer e os usuários, deve ler a marcação. É mais fácil criar uma visão geral sobre a marcação, você tem as tags de abertura e fechamento, etc.

Para os plugins include in, o código com mais lógica e fluxo é o segundo exemplo mais fácil de implementar. O tópico principal é php, não marcação e isso deve estar visível na origem. É também um ponto a considerar para excluir essa marcação em arquivos de modelo e separar a marcação da lógica.

    
por bueltge 28.02.2017 / 15:58
8

Assim como informações adicionais. O WordPress tem manuais para PHP e & HTML sobre as melhores práticas em relação aos padrões de codificação , também para CSS, JavaScript e Acessibilidade. Você pode achá-los úteis para se aprofundar no assunto.

    
por Nicolai 28.02.2017 / 16:24
6

Como explicado na resposta acima, o primeiro método é designer friendly & segundo método talvez adequado em casos de plugins e códigos php complexos onde o número de tags html são poucos.

Mas a maioria das tags de modelo do WordPress tem before e after parâmetros e é mais apropriado usar seus códigos html dentro da chamada de função.

por exemplo, no caso de the_title , ele tem três parâmetros

the_title( $before, $after, $echo );

você pode passar seu html para antes e depois de parâmetros como abaixo

the_title( '<h2 class="title">', '</h2>', true );

as vantagens deste método é

  • Designer Friendly
  • não imprimirá tags html se o título estiver vazio
  • pode ser usado em códigos php complexos, bem como em arquivos de modelo simples
por Anwer AR 02.03.2017 / 19:37
0

O primeiro método é preferível porque:

  • Ele separa claramente o layout HTML fixo do conteúdo dinâmico.
  • É mais fácil de ler.
  • É melhor suportado pelo realce de sintaxe na maioria dos editores, porque os atributos html in-string geralmente não são reconhecidos.
  • Impede que você misture HTML e PHP com muita facilidade.

Por causa das razões expostas acima, o primeiro método leva a um código mais fácil de entender e, portanto, mais fácil de manter.

Na minha experiência, em algumas situações, pode parecer mais conveniente usar o segundo método. No entanto, isso geralmente se deve ao design fraco (software) e deve ser visto como sinal de alerta.

    
por not2savvy 02.03.2017 / 16:00
0

Seu exemplo de código é marginal porque mostra apenas duas linhas de código, mas acredito que a resposta geral seja bem situacional. Se você estiver usando uma linha PHP dentro de um bloco HTML, use o primeiro método. Se você estiver usando uma linha HTML dentro de um bloco PHP, vá com o segundo.

    
por Nadav 15.03.2017 / 09:53