Novo Padrão de Código para o PHP 5.3

Codificar é algo muito pessoal, assim como escrever um artigo. Uma rápida olhada e já podemos ter ideia de quem o escreveu

 

O programador leva para o projeto suas preferências pessoais na maneira de nomear funções, classes, variáveis, arquivos ou mesmo na forma de fazer um loop. Os mais experientes - ou organizados - criam padrões para manter uma consistência, e isso é excelente. O problema começa quando temos muitos programadores trabalhando nos mesmos códigos e cada um fazendo na sua maneira. Muitos projetos e empresas acabam adotando o seu padrão, que deve ser seguido por todos os envolvidos.

Temos então, cada projeto com sua forma e programar, que pode ser completamente diferente de outro. Podemos levar algumas horas somente para compreender a forma que está organizado. Isso é um problema que remonta desde o inicio da era da programação.

Uma das tentativas mais famosas de um padrão unificado foi proposta por Brian Kernighan e Dennis Ritchie (criadores da linguagem C) e descrito no livro C, a Linguagem de Programação: padrão ANSI, e ainda hoje muito usado.

Os padrões mais usados

Existem vários padrões usados pela comunidade PHP. Para aqueles que estão querendo adotar um, é bom ler o padrão do PEAR, que engloba desde nomes de arquivos e funções ate a forma de fazer um loop, uma array multi-dimensional ou mesmo uma documentação.

Existe tambem o utilizado pelo framework Zend, que é uma evolução do usado no PEAR para a realidade do framework. A vantagem de usar um desses é que eles já foram muito usados e “postos a prova”, até chegar num consenso.

Caso você esteja planejando usar um framework, opte por usar o padrão adotado por ele.

PHP Standards e o PHP 5.3

O PHP 5.3 traz novidades e que podem mudar muito a forma de como programamos hoje. O uso de namespace, lambda functions e outros podem bagunçar o código de qualquer um.

Não existe um padrão oficial para PHP. Por enquanto. Recentemente um grupo de desenvolvedores de varios frameworks, entre eles Symfony, Cake, Zend e se reuniram e criam um grupo para defenir esses padrões. Espera-se que todos os projetos existentes hoje como o PEAR, os frameworks, Wordpress, Drupal e Magento, alem dos novos, tenham uma mesma forma, principalmente agora com o advento do PHP 5.3.

A primeira versão esta disponível e o grupo estão abertos a discussões para a melhoria. Nesta versão está definido a forma que será usada os namespaces, a maneira de criar uma execeção ou a pegar e a nomenclatura para classes e interfaces.

Verificando os padrões

Sempre é bom termos certeza que estamos seguindo os padrões. Assim como temos os analisadores W3C para HTML, temos uma ferramenta para o nosso codigo PHP. É o PHP_CodeSniffer. Essa ferramenta analisa o codigo e retorna todos os erros de sematica de seu codigo, para o padrão que você quiser. Vale lembrar que ele não verifica erros de codigo, apenas de formatação.

Um exemplo de uso seria:

 


$ phpcs /path/to/code/myfile.php
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------
2 | ERROR | Missing file doc comment
20 | ERROR | PHP keywords must be lowercase; expected "false" but found
| | "FALSE"
47 | ERROR | Line not indented correctly; expected 4 spaces but found 1
47 | WARNING | Equals sign not aligned with surrounding assignments
51 | ERROR | Missing function doc comment
88 | ERROR | Line not indented correctly; expected 9 spaces but found 6
---------------------------------------------------------------------------

 

Faça do seu jeito

Muitas vezes pegamos codigos de outros programadores, que não seguiram o padrão ou mesmo não tem um padrão. Alterar todo o projeto manualmente pode se tornar algo muito dispendioso e chato. Para facilitar nossa vida, existe o PHP_Beautifier. Ele reformata todo o codigo para a forma defenida por voce.

A linha abaixo reformata no padrão PEAR e indenta 2 tabs.

 


--------------------------------------------------------
php_beautifier -t2 -l "Pear()" index.php index_pear.php
--------------------------------------------------------

 

FONTE: PHP-ZINE.

 


Associação SoftwareLivre

A Associação SoftwareLivre.org (ASL) é uma associação civil sem fins-lucrativos, com sede em Porto Alegre/RS que reúne empresários, profissionais liberais, estudantes e servidores públicos, estabelecendo relações com os mais diversos setores da sociedade como o poder público, universidades, empresas, grupos de usuários, hackers e ONGs. A ASL tem por principal objetivo tornar o software livre amplamente incluído na sociedade, propiciando espaço de discussão, apoio, fomento e organização de iniciativas nas mais diversas áreas relacionadas. - Site oficial da associação