Anda di halaman 1dari 11

PHP Coding Standards v0.

6 beta 02/03/2009 21:25

PHP Coding Standards


v0.6 beta

Walker de Alencar Oliveira


contato@walkeralencar.com
Este contedo est sob licena Creative Commons: BY-NC-SA. Reporte falhas e d sugestes, toda ajuda ser devidamente referenciada.

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Introduo
Como escrever um cdigo organizado, bem estruturado e documentado. Melhorando visibilidade e facilitando futuras manutenes e implementaes. Um bom padro de codificao importante em qualquer projeto de desenvolvimento, principalmente quando envolve vrios desenvolvedores. Assegurar a Alta Qualidade o cdigo, diminuir bugs.

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Formatando Arquivos PHP


Identao

4 espaos Tab no tamanho de 4 espaos.

Tamanho mximo da Linha


80 caracteres, mas aceitvel at 120 caracteres.

Trmino de linha
Linhas devem terminar apenas com Linefeeds (LF) [\n] No usar Carriage Return (CR) [\r], padro Macintosh No usar a combinao (CR)(LF) [\r\n], padro Windows

por Walker de Alencar Oliveira

PHP Coding Standards

<?php /** * [Descrio do arquivo]. * * [mais informaes precisa ter 1 [ENTER] para definir novo pargrafo] * * [pode usar quantas linhas forem necessrias] * [linhas logo abaixo como esta, so consideradas mesmo pargrafo] * * @package [Nome do pacote de Classes, ou do sistema] * @category [Categoria a que o arquivo pertence] * @name [Apelido para o arquivo] * @author [nome do autor] <[e-mail do autor]> * @copyright [Informaes de Direitos de Cpia] * @license [link da licena] [Nome da licena] * @link [link de onde pode ser encontrado esse arquivo] * @version [Verso atual do arquivo] * @since [Arquivo existe desde: Data ou Versao] */ ...

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Nomenclaturas
Padro CamelCase

Definio
a denominao em ingls para a prtica de escrever palavras compostas ou frases, onde cada palavra iniciada com Maisculas, e unida sem espaos. um padro largamente utilizado em diversas linguagens de programao, como Java, Ruby e Python, principalmente nas definies de Classes e Objetos. (Fonte: wikipedia.com)

SubDivises
lowerCamelCase - iniciado por letra Minscula
iPod, iMac

UpperCamelCase - iniciado por letra Maiscula


GameCube, OpenOffice.org , StarCraft

UpperCamelCase

Classes
Uploads, FileUploads, ImageFileUploads

lowerCamelCase
Variveis
$tmpQry, $objUpload, $arrUF, $iCount

Propriedades
$this ->tableName, $this ->fieldId, $this ->fields

Funes e Mtodos
$this->getName(), $this ->setFields(), $this ->getById()

UPPERCASE e _
Constantes
NOT_EXIST, OVERFLOW_MAX_SIZE, DB_HOST

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Estilo de Cdigo (Coding Style)


Demarcao de Cdigo PHP

No usar short_tags(<? e <?=) Usar tags completas (<?php e <?php echo )

Strings Literais
Se a string no contiver variveis de substituio, deve-se usar aspas simples.
$tmpStr = 'Exemplo de String';

Strings Literais com Apstrofos


Pode-se usar aspas simples, mas recomendado o uso de aspas duplas para evitar slashes [\]
$tmpSql = "SELECT id, nome FROM cliente WHERE name = 'Walker' ";

Substituio de Variveis

Usar aspas duplas. Pode-se usar de 2 formas:


$tmpStr = "Exemplo de String com $variavel "; $tmpStr = "Exemplo de String com {$variavel} ";

Por consistncia no se recomenda usar a forma abaixo:


$tmpStr = "Exemplo de String com ${variavel} ";

Concatenao de Strings

Usar espao antes e depois do operador ".", melhorando assim a visibilidade.


$tmpStr = 'Exemplo ' . $de . " String com $tmpStr = "Exemplo {$de} String com {$variavel} "; // Exemplo {$variavel} "; //Recomendado

Quando concatenar mais de uma string longa, alinhe o operador "." abaixo do operador "=".

$tmpSql = 'SELECT id,nome ' . 'FROM cliente ' . "WHERE name = 'Walker' ";

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Classes

Nomear em UpperCamelCase. As chaves "{" e "}" viro na linha abaixo do nome da Classe. Toda classe deve ter um bloco de documentao em conformidade com o Padro do PHPDocumentor. Qualquer cdigo dentro da classe precisa ser identado com quatro espaos. S permitida uma classe por arquivo PHP.

/** * Bloco de Documentao */ class ClasseExemplo { /** * @access private * @var string */ private $_privada = null; /** * @access protected * @var int */ protected $protegida = 0; /** * @var string */ public $publica = null; /** * @static * @var string */ public static $publicaEstatica = null; // Qualquer contedo da classe // precisa ser identado com [Tab|4 espaos]. }

Variveis de Classes (Propriedades)

Nomear em lowerCamelCase Devem ser declaradas no topo da classe, antes de qualquer declarao de mtodos. No utilizar o identificador: var (php4) Sempre declarar sua visibilidade: private, protected ou public. Preferencialmente no utilizar declarao de variveis de classes como public, para incentivar o uso de (set/get)

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Funes e/ou Mtodos

Nomear em lowerCamelCase. As chaves "{" e "}" viro na linha abaixo do nome da Funo/Mtodo. Toda Funo/Mtodo deve ter um bloco de documentao em conformidade com o Padro do PHPDocumentor. Qualquer cdigo dentro da Funo/Mtodo precisa ser identado com quatro espaos. Sempre declarar a visibilidade: private, protect ou public.

por Walker de Alencar Oliveira

PHP Coding Standards

/** * Bloco de Documentao */ class Exemplo { protected $name = null; /** * Seta o um valor propriedade Name. * @access public * @param string $pValue Nome Completo */ public function setName( $pValue ) { // Qualquer contedo // precisa ser identado com [Tab|4 espaos]. } /** * Retorna o valor da propriedade Name. * @access public * @return string */ public function getName() { // Qualquer contedo // precisa ser identado com [Tab|4 espaos]. } }

PHP Coding Standards v0.6 beta 02/03/2009 21:25

Estruturas de Controle

if / else / elseif
Usar espao simples depois do "(" e antes do ")" da condiao no IF e no ELSEIF A chave "{" vir na mesma linha da expresso, a chave "}" vir na linha abaixo da ltima linha de contedo. Qualquer cdigo entre as chaves "{" e "}" precisa ser identado com quatro espaos.

if ( $intValor == 1 ) { // Qualquer contedo // precisa ser identado } elseif ( ( $intValor == 2 // Qualquer contedo // precisa ser identado } else { // Qualquer contedo // precisa ser identado }

com [Tab|4 espaos]. ) or ( $intValor == 3 ) ) { com [Tab|4 espaos].

com [Tab|4 espaos].

while/for/foreach
Usar espao simples depois do "(" e antes do ")" da expresso. A chave "{" vir na mesma linha da expresso, a chave "}" vir na linha abaixo da ltima linha de contedo. Qualquer cdigo entre as chaves "{" e "}" precisa ser identado com quatro espaos.

while ( !feof( $hFile ) ) {


// Qualquer contedo // precisa ser identado com [Tab|4 espaos]. }

for ( $intCount = 0; $intCount <= 10; $intCount++ ) {


// Qualquer contedo // precisa ser identado com [Tab|4 espaos]. }

foreach ( $arrList as $mixKey => $mixValue ) {


// Qualquer contedo // precisa ser identado com [Tab|4 espaos]. }

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

switch/case
Usar espao simples depois do "(" e antes do ")" A chave "{" vir na mesma linha da Expresso, a chave "}" vir na linha abaixo da ltima linha de contedo Qualquer cdigo entre as chaves "{" e "}" precisa ser identado com quatro espaos. Qualquer cdigo dentro de: case e default, precisa ser identado com quatro espaos, inclusive a palavra reservada: break.

switch ( $intNivel ) { case 1: // Qualquer contedo // precisa ser identado com [Tab|4 espaos]. break; case 2: // Qualquer contedo // precisa ser identado com [Tab|4 espaos]. break; default: // Qualquer contedo // precisa ser identado com [Tab|4 espaos]. }

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

10

Licena
Este contedo est sob a licena Creative Commons: BY-NC-SA.
o Sendo permitido:
copiar, distribuir, exibir e executar a obra. criar obras derivadas. Atribuio. Voc deve dar crdito ao autor original, da forma especificada pelo autor ou licenciante. Uso No-Comercial. Voc no pode utilizar esta obra com finalidades comerciais. Compartilhamento pela mesma Licena. Se voc alterar, transformar, ou criar outra obra com base nesta, voc somente poder distribuir a obra resultante sob uma licena idntica a esta. Para cada novo uso ou distribuio, voc deve deixar claro para outros os termos da licena desta obra. Qualquer uma destas condies pode ser renunciada, desde que Voc obtenha permisso do autor. Nada nesta licena prejudica ou restringe os direitos morais do autor. Ao adotar este padro em alguma instituio informar ao autor atravs do e-mail: walkeralencar@gmail.com ou contato@walkeralencar.com, para ser referenciado no site, isso engrandee o trabalho j realizado e incentiva continuidade de outros mais.

o Sob as seguintes condies:

o Anexo:

por Walker de Alencar Oliveira

PHP Coding Standards

PHP Coding Standards v0.6 beta 02/03/2009 21:25

11

Referncia
Zend Framework: Coding Standards for PHP PEAR Coding Standards Drupal Coding Standards Coding Standards for CakePHP eZ Coding Standards for PHP Wikipedia: CamelCase

por Walker de Alencar Oliveira

PHP Coding Standards

Anda mungkin juga menyukai