A linguagem de programação PHP permite que os desenvolvedores escrevam códigos de várias maneiras, naturalmente a falta de padronização no desenvolvimento pode dificultar o entendimento por parte da equipe, principalmente se o projeto é grande.
Então, é muito importância que seja adotado um padrão de código, dessa forma podemos melhorar e agilizar o processo de produção de software, inclusive o ingressar de novos desenvolvedores ao time. Em outras palavras, recomenda-se a utilização das especificações PSR’s como padrão de desenvolvimento, as mesmas foram criadas pelos desenvolvedores da comunidade PHP-FIG (Framework Interoperability Group).
Abaixo, temos os links das PSR’s utilizadas para padronização do código são:
- PSR-1 – Define nome de métodos, estruturação do código, tags de aberturas e fechamento
- PSR-2 – Define prática de um bom código em classes, traits, arquivos
Visão Geral
Portanto, para garantir um alto nível de interoperabilidade técnica entre códigos PHP compartilhado, vamos analisar os elementos de codificação padrão.
Dessa forma, as palavras-chave “DEVE”, “NÃO DEVE”, “NECESSÁRIO”, “DEVERIA”, “NÃO DEVERIA”, “RECOMENDADO”, “OPCIONAL”, são para ser interpretadas como descrito no RFC 2119.
- Os nomes das variáveis, DEVE ser declarado no formato camelCase;
- Os nomes de classes, DEVE ser declarado no formato StudlyCaps;
- As constantes, DEVE ser declarado em maiúsculo com os separadores de sublinhado;
- Os nomes dos métodos, DEVE ser declarado no formato camelCase;
- O código DEVE usar 4 espaços para indentação. Mas caso deseje utilizar o TAB, o mesmo deve ser configurado com a quantidade de espaços corretos, no caso 4 espaços. Graças aos bons editores que temos, tais como Sublime, PHPStorm, Visual Studio Code, etc., podemos configurar facilmente;
- NÃO DEVE haver um limite rígido no comprimento da linha. Porém, cada linha DEVERIA ter 80 caracteres ou menos, ou o limite aceitável DEVE ser de 120 caracteres;
- DEVE haver uma linha em branco após a declaração do namespace e também após o bloco de declaração do use;
- A abertura das chaves para as classes DEVE ir na próxima linha, e o fechamento das chaves DEVE ir na próxima linha após o corpo;
- A visibilidade DEVE ser declarada em todas as propriedades e métodos. abstracte e final, DEVE ser declarado antes da visibilidade. static, DEVE ser declarado após a visibilidade.
- Palavras-chave da estrutura de controle DEVE ter um espaço depois delas, chamadas de método e função NÃO DEVE.
- Chaves de abertura para estruturas de controle DEVE ir na mesma linha, e o fechamento de chaves DEVE seguir na próxima linha após o corpo;
- Parênteses de abertura para estruturas de controle NÃO DEVE ter um espaço depois deles, e o fechamento de parênteses para estruturas de controle NÃO DEVE ter um espaço antes.
Padrões Para Os Arquivos
Em seguida, vamos listar alguns padrões para os arquivos PHP.
- DEVE usar apenas as seguintes tags de abertura <?php e <?=;
- DEVE usar apenas a codificação UTF-8 sem BOM;
- Todos os arquivos PHP DEVE terminar com uma única linha em branco;
- A tag de fechamento ?> DEVE ser omitida em arquivos que contêm apenas PHP;
Exemplo Prático
Este exemplo engloba algumas das regras acima como uma visão geral rápida:
<?php
namespace Vendor\Package;
use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class Foo extends Bar implements FooInterface
{
public function sampleMethod($a, $b = null)
{
if ($a === $b) {
bar();
} elseif ($a > $b) {
$foo->bar($arg1);
} else {
BazClass::bar($arg2, $arg3);
}
}
final public static function bar()
{
// method body
}
}
PSR’s Mais Específicas
Podemos encontrar na PSR-2, também os padrões de código para as estruturas de controle, por exemplo, if, elseif, else, switch case, while, do while, for, foreach e try catch.
Conclusão
Conclui-se que com a utilização dos padrões das PSR-1 e PSR-2, os códigos serão legíveis, elegantes. Em resumo, trarão muitos benefícios para toda a equipe de desenvolvimento.