Title / Description
Code <?php /** * Classe Exemplo * * Classe para exemplificar boas praticas a serem seguidas em projetos futuros * da Nitrodev. (note tamanho da linha, tentar nunca passar de 80 caracteres, * apenas quando necessario, e mesmo assim, nunca mais de 120). Identacao deve * ser feita com 4 espacos, NAO com tab. * * @since 06/10/2009 */ class Exemplo { const CONSTANTE_EXEMPLO = 12; const NUNCA_GLOBAL = 13; private $_privateComUnderscore; // nunca usar construtor 'var', sempre // public, protected ou private protected $_protectedComUnderscore; // declarar as variaveis da classe // sempre antes dos metodos public $publicSemUnderscore; // preferivel nao usar public, usar getters, // setters e variaveis protected/private /** * Construtor da classe */ public function __construct() { // codigo do construtor } /** * Descricao da funcao * * - Nunca, em nome de metodos, usar underscore ou numeros, a nao ser que * a funcao seja private ou protected, neste caso, underscore no inicio * do nome da mesma, como nas propriedades da classe. * - Tentar sempre criar nome de funcoes e variaveis com nomes intuitivos * - Sempre declarar visibilidade da funcao com public, protected e private * * @param int a : variavel 1<br /> * int b : variavel 2<br /> * int c : variavel 3 */ private function _funcaoPrivate($a, $b, $c) { // codigo da funcao } /** * Imprime na tela mensagem especificada * * @param string $mensagem : mensagem a ser impressa na tela */ protected function _funcaoProtected($mensagem) { // strings puras, isto e, sem variaveis a serem interpretadas dentro das // mesmas, devem ser escritas entre aspas simples $nome = 'Rodolfo'; // para inserir variavel dentro de texto, duas formas sao permitidas echo "Olá, $nome! {$mensagem}"; // Qualquer variável, string, que contenha comandos na linguagem SQL, sejam // DDL, DML, DCL, funções, essas devem ser colocadas em letras maiúsculas, // a fim de clarificar e melhorar a leitura, como nos exemplos abaixo // strings que possuem apostrofes/aspas simples podem ser demarcadas com // aspas duplas $sql = "SELECT 'id', 'nome' FROM 'pessoa' WHERE 'nome'='Rodolfo'"; // para concatenar strings, é encorajado quebrar a string em multiplas // linhas para melhorar a leitura. Alem disso, deve-se dar um espaco // antes e depois do '.' $outroSql = "SELECT 'id', 'nome' FROM 'pessoa " . "WHERE 'nome = 'Rodolfo' " . "ORDER BY 'nome' ASC"; } /** * Gera um array com o numero de registros especificados, e retorna * * @param int $numRegistros : numero de registros que o array gerado tera * @return array : vetor gerado com o numero de registros requisitado */ public function funcaoPublic($numRegistros) { // arrays com valores de indice negativos nao sao permitidos // e DE PREFERENCIA, que comecem sempre na posicao 0 (zero) // quando um array esta sendo declarado com a funcao array(), // ela deve ter espaco apos CADA virgula para melhorar leitura $arrayExemplo = array(1, 2, 3, 'Nitrodev', 'Petropolis'); // e permitido usar multiplas linhas para declarar um array, e caso // seja decidido fazer dessa forma, deve-se cuidar para o posicionamento // ficar da forma abaixo $arrayVariasLinhas = array(1, 2, 3, 'Nitrodev', 'Petropolis', $a, $b, $c, 56.44, $d, 500); // caso um array associativo deva ser definido, definir o mesmo em // multiplas linhas, da forma abaixo. Cuidar para chave e valor // estarem sempre alinhadas $arrayAssociativo = array('primeiraChave' => 'primeiroValor', 'segundaChave' => 'segundoValor', 'terceiraChave' => 'terceiroValor'); // esta e a forma correta, inclusive com os espacos usados, de se usar // a estrutura if / else / else if if ($a < 2) { $b = 2; // mesmo que seja executado apenas uma funcao, usar { e } // para organizar o bloco } else if ($a > 7) { $b = 7; // nunca usar elseif, sempre 'else if' } else { $b = 5; } // esta e a forma correta, inclusive com os espacos usados, de se usar // a estrutura switch case switch ($b) { case 2: $nome = 'Rodolfo'; break; // caso o break (ou return) deva ser omitido, comentar case 5: $nome = 'Vinicius'; break; case 7: $nome = 'Cezar'; break; default: // sempre colocar default $nome = 'Eduardo'; break; } // variaveis para iteracao devem, caso a mesma seja de um tamanho razoavel // (isto e, por volta de 20 linhas ou mais), ser definidas com nomes // intuitivos $novoArray = array(); for ($registroAtual = 0; $registroAtual < $numRegistros; $registroAtual++) { $novoArray[$registroAtual] = $nome; // linha de codigo 2 // ... // linha de codigo 20 } // para chamar uma funcao, deve-se sempre dar espaco apos cada virgula // para melhorar a leitura $this->_funcaoPrivate(1, 2, 3); // nunca usar parenteses quando estiver usando return, como em return($novoArray) return $novoArray; } } ?>
Author
Highlight as C C++ CSS Clojure Delphi ERb Groovy (beta) HAML HTML JSON Java JavaScript PHP Plain text Python Ruby SQL XML YAML diff code