Páginas

domingo, 31 de março de 2013

Padrão de código PHP


1 – DEFINIÇÕES

Algumas definições se fazem necessárias para um bom entendimento deste texto.
  1. UpperCamelCase: Nome composto, tendo as palavras agrupadas (sem espaçamento entre elas) e com a primeira letra da cada palavra em maiúscula;
  2. UPPER_CASE: Nome composto, com todas as palavras totalmente em maiúsculas e separadas pelo caractere '_' sublinhado;
  3. lowerCamelCase: Variação do CamelCase onde a inicial da primeira palavra também é minúscula, sendo as outras iniciais maiúsculas;

2 – PROJETO

Um projeto em PHP é um pacote composto de uma série diretórios (pastas) contendo os diferentes documentos de código, imagens, informações, etc.
Veja uma sugestão simples de diretórios e a descrição do respectivo conteúdo:
  1. Class – Todos os arquivos das classes do sistema estão neste diretório;
  2. Css – Arquivos de folhas de estilo CSS;
  3. Est – Arquivos responsáveis pela estruturação do sistema;
  4. Img – Arquivos de imagens a serem exibidas nas páginas;
  5. Impres – Arquivos de páginas impressas diretamente sem exibição prévia;
  6. Info – Arquivos de informações tais como: padrão de código e leia-me;
  7. Js – Arquivos de JavaScript;
  8. Pag – Arquivos das páginas do sistema.

3 – CÓDIGO FONTE

Para que um código fonte seja legível e de fácil compreensão, mesmo que muito tempo tenha se passado e que outros profissionais venham a trabalhar no mesmo é imprescindível a padronização dos diferentes tópicos que compõem este artefato.

  1. Cabeçalho – Nesta parte do código é necessário registrar algumas informações como segue.
/*
* @file NomeDoArquivo[.php] [.class.php]
* @package [Pacote ao qual pertence o arquivo]
* @author [nome do autor] <[e-mail do autor]>
* @copyright [Informações de Direitos de Cópia]
* @license [link da licença] [Nome da licença]
* @link [link de onde pode ser encontrado esse arquivo]
* @version [Versão atual do arquivo]
* @since [Arquivo existe desde: Data ou Versão]
*
* [Descrição do arquivo].
*
* [Outras informações].
*/


  1. Codificação – UTF-8;
  2. Indentação – Quatro espaços na tabulação;
  3. Tamanho da linha – Máximo 80 caracteres;
  4. Limitador de código – Sendo ele o um pequeno trecho de uma linha ou se estendendo por várias linhas se deve usar tags completas;
  • Em uma linha.
...CódigoHtml <?php códigoPHP ?> CódigoHtml...

  • Em várias linhas.
...CódigoHtml
    <?php
        CódigoPHP;
        CódigoPHP;
        CódigoPHP;
        CódigoPHP;
    ?>
CódigoHtml...



  1. Parenteses – O conjunto que inclui os parênteses pode ocupar apenas uma linha ou ter um grande número de argumentos que faça com que se estenda por várias;
  • Em uma linha:
...minhaFuncao($x, $horas) {}

  • Em várias linhas:
...minhaFuncao
    (
         $Argumento1,
         $Argumento2,
         $Argumento3,
         $Argumento4,
         $Argumento5,
    )
    {}

  1. Chaves – Assim como os parênteses, estas podem estar na mesma linha ou ocupando várias;
  • Em uma linha:
      ...minhaFuncao(){Return $z;}
  • Em várias linhas:
      ...minhaFuncao()
         {
            Linha1;
            Linha2;
            Linha3;
            Linha4;
            Linha5;
         }

  1. Strings formada por texto e variáveis – Aqui novamente se repete a mesma abordagem dos parênteses e chaves;
  • Em uma linha:
...echo ”Texto1 “.$a.” texto2 ”.$b.” “.$c”;

  • Em várias linhas:
...echo “Texto1”
        .$a.” “
        .funcao1($r)
        .”texto2”
        .$b
        .”texto3”;


4 – NOMENCLATURA

A linguagem PHP é Case Sensitive, ou seja, qualquer diferença na grafia dos nomes é entendida como diferença entre esses nomes.
Nos nomes em PHP é permitido apenas o uso de caracteres da tabela ASCII ou seja, Letras (apenas as do alfabeto, sem acento ou 'ç') e Números, sendo que o início destes nomes deve ser feito obrigatoriamente por letras ou '_' (sublinhado).
  1. Arquivos de páginas php – Para os arquivos PHP será usado um nome em UpperCamelCase e uma extensão “.php”;
  • Exemplo:
MinhaPagina.php

  1. Arquivos de classes – Será colocada uma classe por arquivo e sua nomeação se faz com o nome em UpperCamelCase acrecido de uma extensão “.class.php”;
  • Exemplo:
MinhaClasse.class.php

  1. Classes – Estas são nomeadas com UpperCamelCase;
  • Exemplo:
Class MinhaClasse
  {
     Código da classe;
  }

  1. Atributos – A nomeação dos atributos é feita com lowerCamelCase precedido do caractere cifrão '$';
  • Exemplo:
private $atributoUm;
private $atributoDois;
private $atributoTres;

  1. Métodos – Aqui também se usa o lowerCamelCase;
  • Exemplo:
function meuMetodo()
   {
      Código do método;
   }



  1. Objetos – Assim como nos atributos usa se lowerCamelCase precedido do caractere cifrão '$';
  • Exemplo:
$meuObjeto = new MinhaClasse();

  1. Variáveis – Segue o mesmo caminho dos atributos e objetos usando o lowerCamelCaseprecedido do caractere cifrão '$';
  • Exemplo:
$minhaVariavel = 0;

  1. Constantes – Aqui é usado o UPPER_CASE;
  • Exemplo:
define ( NOME_DA_CONSTANTE, valor da constante );


Este trabalho está disponível em PDF no Scribd


Copyleft (C) 2013 Sincero Zeferino Filho (OhEremita)