Você está na página 1de 15

APRENDENDO

PADRO DE CDIGO FONTE PHP SINCERO ZEFERINO FILHO

PADRO DE CDIGO:
Padro de cdigo fonte para linguagem PHP

SANTA LUZIA 2013

SINCERO ZEFERINO FILHO

PADRO DE CDIGO:
Padro de cdigo fonte para linguagem PHP

Padro de cdigo fonte para a linguagem PHP, escolhas feitas pelo autor, para padronizao de seus projetos pessoais, utilizando esta linguagem.

Santa Luzia 2013

SUMRIO 1 INTRODUO........................................................................................................ 3 2 OBJETIVOS............................................................................................................ 4 2.1 OBJETIVO GERAL.......................................................................................... 4 2.2 OBJETIVOS ESPECFICOS............................................................................4 3 ESTRATGIAS........................................................................................................5 3.1 DESENVOLVEDORES.................................................................................... 5 3.2 GRUPOS DE DISCUSSO............................................................................. 5 3.3 ESTILO PRPRIO........................................................................................... 5 4 DEFINIES...........................................................................................................6 5 PROJETO................................................................................................................7 6 CDIGO FONTE.....................................................................................................8 7 NOMENCLATURA ..................................................................................................10 8 CONCLUSO..........................................................................................................12 9 LICENCIAMENTO DESTE TRABALHO................................................................. 13 REFERNCIAS.......................................................................................................... 14

1 INTRODUO Para todo trabalho que envolva algum tipo de texto necessrio e bastante eficiente, adotar um padro de escrita e nomenclatura. A inteno aqui agrupar as opes escolhidas pelo autor para padronizao de seus trabalhos utilizando a linguagem PHP. Os padres de cdigo consultados mostram que existem inmeras possibilidades de se escrever cdigo fonte, e estes adquirem linhas estticas diferentes, mas que obedecem aos padres recomendados para a linguagem em questo. O manual Code Standadards elaborado por Walker de Alencar Oliveira, disponvel em: <http://www.walkeralencar.com/PHPCodeStandards.pdf>, Acesso: 30-03-2013. teve grande influncia neste trabalho.

2 OBJETIVOS

2.1 OBJETIVO GERAL Definir escolhas para padronizar a elaborao de cdigo fonte em PHP. 2.2 OBJETIVOS ESPECFICOS a) Definir a estrutura de um projeto PHP; b) Definir o posicionamento dentro do cdigo dos diferentes elementos tais como: indentao, parnteses, chaves, etc; c) Definir um padro de nomenclatura para diretrios, arquivos, variveis, objetos, etc;

3 ESTRATGIAS Qualquer padronizao que queira fazer valer esse nome deve iniciar pelas normas relativas ao assunto em questo e esse autor parte da consulta a diversos portais de desenvolvedores e principalmente ao portal PHP <http://php.net/manual/pt_BR/index.php>. 3.1 DESENVOLVEDORES Excelentes prticas de codificao so encontradas nas inmeras pginas de desenvolvedores, basta uma curta pesquisa em algum buscador da internet para encontr-los. 3.2 GRUPOS DE DISCUSSO Os incontveis grupos de discusso presentes nas redes sociais tambm so outra fonte de consulta. 3.3 ESTILO PRPRIO O que faz a diferena no final o estilo pessoal daquele que codifica j que as possibilidades oferecidas pelo padro so muitas, ento, seguir as linhas do bom senso o principal conselho.

4 DEFINIES Algumas entendimento deste texto. a) UpperCamelCase: Nome composto, tendo as palavras agrupadas (sem espaamento entre elas) e com a primeira letra da cada palavra em maiscula; b) UPPER_CASE: Nome composto, com todas as palavras totalmente em maisculas e separadas pelo caractere '_' sublinhado; c) lowerCamelCase: Variao do CamelCase onde a inicial da primeira palavra tambm minscula, sendo as outras iniciais maisculas; definies se fazem necessrias para um bom

5 PROJETO Um projeto em PHP um pacote composto de uma srie diretrios (pastas) contendo os diferentes documentos de cdigo, imagens, informaes, etc. Veja uma sugesto simples, na figura 5.1.

Figura 5.1: Estrutura de diretrios para um projeto PHP.

Descrio dos diretrios de acordo com seu contedo: a) Class Todos os arquivos das classes do sistema esto neste diretrio; b) Css Arquivos de folhas de estilo CSS; c) Est Arquivos responsveis pela estruturao do sistema; d) Img Arquivos de imagens a serem exibidas nas pginas; e) Impres Arquivos de pginas impressas diretamente sem exibio prvia; f) Info Arquivos de informaes tais como: padro de cdigo e leia-me; g) Js Arquivos de JavaScript; h) Pag Arquivos das pginas do sistema.

6 CDIGO FONTE Para que um cdigo fonte seja legvel e de fcil compreenso, mesmo que muito tempo tenha se passado e que outros profissionais venham a trabalhar no mesmo imprescindvel a padronizao dos diferentes tpicos que compem este artefato. a) Cabealho Nesta parte do cdigo necessrio registrar algumas informaes como segue.
/* * @file NomeDoArquivo[.php] [.class.php] * @package [Pacote ao qual pertence o arquivo] * @author [nome do autor] <[e-mail do autor]> * @copyright [Informacoes de Direitos de Copia] * @license [link da licenca] [Nome da licenca] * @link [link de onde pode ser encontrado esse arquivo] * @version [Versao atual do arquivo] * @since [Arquivo existe desde: Data ou Versao] * * [Descricao do arquivo]. * * [Outras informacoes]. */

b) Codificao UTF-8; c) Indentao Quatro espaos na tabulao; d) Tamanho da linha Mximo 80 caracteres; e) Limitador de cdigo Sendo ele o um pequeno trecho de uma linha ou se estendendo por vrias linhas se deve usar tags completas; Em uma linha.
...CodigoHtml <?php codigoPHP ?> CodigoHtml...

Mais de uma linha.


...CodigoHtml <?php CodigoPHP; CodigoPHP; CodigoPHP; CodigoPHP; ?> CodigoHtml...

f)

Parenteses O conjunto que inclui os parnteses pode ocupar apenas uma linha ou ter um grande nmero de argumentos que faa com que se estenda por vrias; Em uma linha:
...minhaFuncao($x, $horas) {}

Em vrias linhas:
...minhaFuncao ( $Argumento1, $Argumento2, $Argumento3, $Argumento4, $Argumento5, ) {}

g) Chaves Assim como os parnteses, estas podem estar na mesma linha ou ocupando vrias; Em uma linha:
...minhaFuncao(){Return $z;}

Em vrias linhas:
...minhaFuncao() { Linha1; Linha2; Linha3; Linha4; Linha5; }

h) Strings formada por texto e variveis Aqui novamente se repete a mesma abordagem dos parnteses e chaves; Em uma linha:
...echo Texto1 .$a. texto2 .$b. .$c;

Em vrias linhas:
...echo Texto1 .$a. .funcao1($r) .texto2 .$b .texto3;

10

7 NOMENCLATURA A linguagem PHP Case Sensitive, ou seja, qualquer diferena na grafia dos nomes entendida como diferena 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 Nmeros, sendo que o incio destes nomes deve ser feito obrigatoriamente por letras ou '_' (sublinhado). a) Arquivos de pginas php Para os arquivos PHP ser usado um nome em UpperCamelCase e uma extenso .php; Exemplo:
MinhaPagina.php

b) Arquivos de classes Ser colocada uma classe por arquivo e sua nomeao se faz com o nome em UpperCamelCase acrecido de uma extenso .class.php; Exemplo:
MinhaClasse.class.php

c) Classes Estas so nomeadas com UpperCamelCase; Exemplo:


Class MinhaClasse { Codigo da classe; }

d) Atributos -

nomeao

dos

atributos

feita

com

lowerCamelCase precedido do caractere cifro '$'; Exemplo:


private $atributoUm; private $atributoDois; private $atributoTres;

e) Mtodos Aqui tambm se usa o lowerCamelCase; Exemplo:


function meuMetodo() { Codigo do mtodo; }

11

f)

Objetos Assim como nos atributos usa se lowerCamelCase precedido do caractere cifro '$'; Exemplo:
$meuObjeto = new MinhaClasse();

g) Variveis Segue o mesmo caminho dos atributos e objetos usando o lowerCamelCase precedido do caractere cifro '$'; Exemplo:
$minhaVariavel = 0;

h) Constantes Aqui usado o UPPER_CASE; Exemplo:


define ( NOME_DA_CONSTANTE, valor da constante );

12

8 CONCLUSO Nunca demasiado lembrar que s se deve repetir o padro, nunca um trecho de cdigo, todas as vezes que esta ltima acontece sinal forte de algum erro nas etapas anteriores ao cdigo. As escolhas feitas pelo autor, dentre as possibilidades oferecidas pelo paro PHP e que constituem este documento, so as que trazem o seu cdigo fonte para a linha esttica que o mesmo considera mais agradvel e compreensvel. Este trabalho para uso pessoal do autor e sua publicao cumpre unicamente a funo de compartilhamento de conhecimentos, assim todos aqueles que concordarem com as idias aqui expostas, sintam-se inteiramente a vontade para us-las, quanto aos que discordam peo lhes humildes desculpas.

13

9 LICENCIAMENTO DESTE TRABALHO a) Cpia, redistribuio e uso comercial, so permitidos desde que seja: com a mesma licena e a citao do autor; b) Criao de obras derivadas, permitida desde que citado o autor original; c) Contato: Sincero Zeferino Filho (OhEremita): e-mail: <oheremita@gmail.com> Facebook: <http://www.facebook.com/zeferinofilho>

14

REFERNCIAS DALL'OGLIO, Pablo. PHP: Programando com Orientao a Objetos. 1 Edio. So Paulo: Editora Novatec, 2007. Desenvolvedor: <http://thiagobelem.net/>, acesso em: 26-02-2013. Informaes de referncia: <http://php.net/>, acesso em: 26-02-2013. Informaes de referncia: <http://php.net/manual/pt_BR/index.php>, acesso em: 26-02-2013. Informaes de referncia: <http://www.w3schools.com/php/default.asp>, acesso em: 26-02-2013. Informaes de referncia: <http://www.maujor.com/index.php>, acesso em: 26-022013. OLIVEIRA, Walker de Alencar. Code Standard. Disponvel em: <http://www.walkeralencar.com/PHPCodeStandards.pdf>, Acesso: 30-03-2013.

Você também pode gostar