1 – DEFINIÇÕES
Algumas definições se fazem necessárias para um bom entendimento deste texto.
- UpperCamelCase: Nome composto, tendo as palavras agrupadas (sem espaçamento entre elas) e com a primeira letra da cada palavra em maiúscula;
- UPPER_CASE: Nome composto, com todas as palavras totalmente em maiúsculas e separadas pelo caractere '_' sublinhado;
- 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:
- Class – Todos os arquivos das classes do sistema estão neste diretório;
- Css – Arquivos de folhas de estilo CSS;
- Est – Arquivos responsáveis pela estruturação do sistema;
- Img – Arquivos de imagens a serem exibidas nas páginas;
- Impres – Arquivos de páginas impressas diretamente sem exibição prévia;
- Info – Arquivos de informações tais como: padrão de código e leia-me;
- Js – Arquivos de JavaScript;
- 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.
- 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].
*/
- Codificação – UTF-8;
- Indentação – Quatro espaços na tabulação;
- Tamanho da linha – Máximo 80 caracteres;
- 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...
- 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,
)
{}
- 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;
}
- 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).
- Arquivos de páginas php – Para os arquivos PHP será usado um nome em UpperCamelCase e uma extensão “.php”;
- Exemplo:
MinhaPagina.php
- 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
- Classes – Estas são nomeadas com UpperCamelCase;
- Exemplo:
Class MinhaClasse
{
Código da classe;
}
- Atributos – A nomeação dos atributos é feita com lowerCamelCase precedido do caractere cifrão '$';
- Exemplo:
private $atributoUm;
private $atributoDois;
private $atributoTres;
- Métodos – Aqui também se usa o lowerCamelCase;
- Exemplo:
function meuMetodo()
{
Código do método;
}
- Objetos – Assim como nos atributos usa se lowerCamelCase precedido do caractere cifrão '$';
- Exemplo:
$meuObjeto = new MinhaClasse();
- Variáveis – Segue o mesmo caminho dos atributos e objetos usando o lowerCamelCaseprecedido do caractere cifrão '$';
- Exemplo:
$minhaVariavel = 0;
- 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)