WordPress

Inscreva-se em nosso canal no Youtube Daviwp

Padrão de codificação PHP para WordPress

10/05/2011 WordPress (0) comentário

Antes de desenvolver alguma solução para seu WordPress, é importante saber da existência de algumas normas criadas com intuito depadronizar o código-fonte do CMS.

Seguir tais padrões não é obrigatório, porém é muito interessante quando se quer compartilhar algo desenvolvido e que outras pessoas entendam facilmente o material.

Aspas simples e duplas

Use aspas simples e duplas quando apropriado. Se você não estiver tratando nada na string, use use aspas simples. Você nunca deve escapar aspas HTML numa string, porque você apenas precisa alternar entre os tipos de aspas, assim:

echo '<a title="Título" href="link">Nome do link</a>';
echo "<a title="$titulodolink" href="$link">$nomedolink</a>";

A única exceção é no JavaScript, que as vezes requer aspas simples ou duplas. Textos que venham dentro de atributos devem passar pelo attribute_escape() assim as aspas simples ou duplas não fecham o atributo e invalidam o XHTML causando um problema de segurança.

Indentação
Sua indentação deve sempre refletir uma estrutura lógica. Use tabs reais e não espaços, pois isso permite maior flexibilidade entre clientes.
Regra de ouro: tabs devem ser usadas no início das linhas e espaços devem ser usados no meio das linhas.

Exceção: se você tem um bloco de código que seja mais legível se estiver alinhado, use espaços:

$valor
$valor2
$valor3
$valor4
 
= 'algumvalor';
= 'algumvalor2';
= 'algumvalor3';
= 'algumvalor4';

Estilo das Chaves
Chaves devem ser usadas em multiplos blocos. Se você tiver um bloco muito grande, considere quebrá-lo em dois ou mais blocos ou funções. Caso seja realmente necessária a existência desse longo bloco, por favor ponha um pequeno comentário no final para que as pessoas percebam de relance o que aquela chave de fechamento está fechando.

if ( condicao ) { acao1(); acao2(); } elseif ( condicao2 &amp;&amp; condicao3 ) { acao4(); } else { acaopadrao(); }

Normalmente isso é apropriado para blocos lógicos, maiores que cerca de 35 linhas, mas qualquer código que não seja intuitivamente óbvio pode ser comentado. Blocos de uma linha apenas pode omitir as chaves para ficarem mais concisos:

if ( condicao ) acao1();
else acao2();

Uso de espaços
Sempre coloque espaços:

Após as vírgulas

array( 1, 2, 3 )

Em ambos os lados das atribuições de operadores lógicos

X == 23

Em ambos os lados dos parênteses

foreach ( $foo as $bar ) {

Quando definindo ou chamando funções, entre os parâmetros

function minhafuncao( $param1 = 'foo', $param2 = 'bar' ) {
minhafuncao( $param1, outrafuncao( $param2 ) );

Variáveis, funções, nomes de arquivos, e operadores
Use letras minúsculas em nomes de variáveis e funções. Separe as palavras por sublinhados

(underscores).
 
function algum_nome( $alguma_variavel ) { [...] }

Arquivos devem ser nomeados descritivamente usando letras minúsculas. Hífens devem separar as palavras.

nome-do-meu-plugin.php

Sinalização de parâmetros
Para sinalizar parâmetros para funções prefira valores em string a apenas true e false quando chamar funções; e sempre com nomes auto-explicativos.

Incorreto

function comer( $oque, $devagar = true ) {
comer( 'cogumelos' );
comer( 'cogumelos', true );
// O que significa true?
comer( 'comida de cachorro', false );
// O que significa false? O oposto de true?
 
... }

Já que o PHP não suporta argumentos em forma de nomes, os valores dos sinalizadores não tem significados e toda vez que aparece uma função como essa nós temos que pesquisar pela definição da função.

O código pode ficar mais legível se usarmos textos descritivos, ao invés de boleanos:

Correto

function comer( $oque, $velocidade = 'devagar' ) {
comer( 'cogumelos' );
comer( 'cogumelos', 'devagar' );
comer( 'comida de cachorro', 'rapido' );
 
... }

Esse artigo foi retirado do ebook “Aprenda a desenvolver Temas WordPress”

daviwp

Meu nome é Davi Alves desenvolvedor web e WordPress developer, residente de Belo Horizonte, sou um dos organizadores do WordCamp evento oficial do WordPress em BH e co-fundador do Belo Horizonte WordPress Group juntamente com o fundador Mateus Neves, sou articulista de alguns sites, e fundador do daviwp.com, aqui compartilho conhecimentos para toda galera aficionada em WordPress.