Palestra dedicada a explicar o que são as PSR's e como o PHP-FIG funciona, inclusive mostrando o processo de submissão de proposta (usando o exemplo da minha submissão da PSR-1).
para estrutura de pastas · Autoloader genérico Commit da versão final em 4 de Novembro de 2010 pelo Matthew O'Phinney. Um longo caminho até o que temos hoje, trilhado inicialmente pelos projetos Zend Framework, Symfony e Doctrine. (brejas pro @fabpot, @weierophinney e @guilhermeblanco!)
bibliotecas de peso e frameworks, que discutem um único objetivo: encontrar maneira de trabalhar juntos · Surgiu em uma reunião na php|tek 2009 · Inicialmente um grupo fechado, hoje é aberto para discussão, tendo representantes de projetos importantes como membros votantes · Qualquer um pode enviar uma proposta
projetos: · Estes representantes votam em propostas de padrões e propostas de novos membros Lithium, phpBB, PEAR, Doctrine, Composer, Packagist, Zikula, PPI, Propel, Joomla, Drupal, Solar Framework, Aura Project, FLOW3, CakePHP, SabreDAV, Amazon Web Services SDK, Symfony2, eZ Publish, Chisimba, C4, PyroCMS, Assetic, Buzz, Zend Framework 2 e Agavi.
onde há mais de 2 programadores · Programadores sempre acham seu estilo melhor. Se não podemos ficar todos felizes, vamos ficar todos tristes! · Se existe uma interoperabilidade técnica, nada mais natural que considerar coding standards uma questão crucial para interoperabilidade
e na lista · Pesquisa sobre cada regra do padrão, feita em cima dos projetos participantes · Muito buzz, muita gente pegando o bonde andando... · Proposta inicial rejeitada
A PSR-1 especifica regras para interoperabilidade técnica entre projetos durante a escrita de código · A PSR-2 especifica regras de estilo, não- essenciais · Um projeto pode adotar a PSR-0 e PSR-1, mas preferir não optar pela PSR-2
e <?= · Arquivos devem usar UTF-8 sem BOM (byte order mark, ) · Arquivos devem declarar classes, funções, constantes, etc. OU causar efeitos colaterais (gerar saída, incluir um arquivo, alterar o php.ini). NUNCA os dois. · Namespaces e classes devem seguir a PSR-0 · Nomes de Classes devem estar em StudlyCaps · Constantes de classe devem ser declaradas com letras maiúsculas e, caso existam separadores, com underline · Nomes de métodos devem estar em camelCase