Documentação do Symfony - versão 3.1
Renderizada do repositório symfony-docs-pt-BR no Github
Para contribuir com código para o Symfony2, você deve seguir seus padrões de codificação. Para encurtar a história, esta é a regra de ouro: Imite o código existente no Symfony2. Muitos Bundles e bilbiotecas usados pelo Symfony2 também seguem as mesmas regras, e você também deveria.
Lembre-se que a principal vantagem de padrões é que cada pedaço de código parece familiar, não é sobre isso ou aquilo ser mais legível.
Como uma imagem — ou código — diz mais que mil palavras, aqui está um exemplo curto, contendo a maior parte dos aspectos descrito abaixo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Acme;
class Foo
{
const SOME_CONST = 42;
private $foo;
/**
* @param string $dummy Some argument description
*/
public function __construct($dummy)
{
$this->foo = $this->transform($dummy);
}
/**
* @param string $dummy Some argument description
* @return string|null Transformed input
*/
private function transform($dummy)
{
if (true === $dummy) {
return;
}
if ('string' === $dummy) {
$dummy = substr($dummy, 0, 5);
}
return $dummy;
}
}
|
(if, else, for, while, …);
declaração esteja sozinha dentro de um bloco (como dentro de um if);
númedo de declarações que ele contém;
chaves de abertura com um único espaço e nenhuma linha em branco;
uso de var é proibido;
mesmo vale para array();
privados.
considerações de nomeação mais subjetivas.
presente no topo de todo arquivo PHP, antes do namespace.