Salve salve moquerido, Gustavo Web aqui e assunto do nosso artigo é PSR!
Por um acaso você sabe o que é? Pra que serve? Quem inventou? Quem usa isso? Vamos por partes, vou te explicar cada coisa aqui nesse artigo.
O que é PSR:
Obviamente que a sigla vem do inglês (PHP Standards Recommendation), ou seja, Recomendação de Padrões PHP. Essas recomendações padrões que são citadas, são propostas pelo PHP FIG (PHP Framework Interop Group) que é um grupo composto por vários desenvolvedores de diversas ferramentas diferentes.
Em resumo, os head-code's das principais ferramentas que temos disponíveis em PHP se juntaram para criar determinados ritos que os códigos devem seguir, assim, quando você tiver uma aplicação compartilhada com a comunidade ou até mesmo se desenvolver determinado tipo de recurso que precisa ser consumido por outros desenvolvedores, o código ficará mais legível e possuirá interoperabilidade resultando numa aplicação que pode se conectar com outras ferramentas e ainda que possua o mesmo formato de escrita.
Qual é o Objetivo da PSR:
Além de especificar padrões no seu código, o principal objetivo é fazer com que as ferramentas tenha uma facilidade de se conectarem umas com as outras. Já que o PHP é open, porque não ter ferramentas diferentes podendo se conectar? Como é citado dentro do próprio site da PSR, o objetivo é "a idéia por trás do grupo é que os representantes dos projetos falem sobre os pontos em comum entre nossos projetos e encontrem maneiras de trabalhar juntos".
Quem usa PSR:
Entre as principais ferramentas que utilizam esses padrões, podemos citar:
- CakePHP
- Composer
- Joomla
- Magento
- Zend
Se todas essas ferramentas usam, eu preciso usar também?
Depende! Se você trabalhar como sendo o consumir final da ferramenta e no caso entrega uma solução já utilizável para seu cliente, não é necessário que você siga essas especificações ou ainda que modele o seu projeto baseado nessa metodologia. Já se o seu intuito é criar um Saas ou uma aplicação que possa ser consumida por outras aplicação onde terá interações de outros desenvolvedores é bacana que você siga sim.
É difícil aplicar isso no meu projeto? O que muda?
A princípio, estruturalmente falando o que você terá que trabalhar muito bem na sua aplicação é o conceito de autoload. A PSR possui dois "padrões" para autoload [ressalva - um antigo chefe meu dizia que se você tem mais de um padrão, você não tem um padrão] que são PSR-0 e PSR-4. Há algumas regras o que você deve obedecer para se adequar nessas regras, como o uso regular do namespace seguindo exatamente o mesmo padrão imposto pelas demais ferramentas. As PSR-1 e PSR-2 na minha opinião são as mais "saudáveis" de se aplicar num projeto pois ela ditam o Coding Style. E esse coding style é de fato o estilo do código mesmo... Veja o que é normalizado:
- Tipo de declaração de variável (StudlyCase, camelCase, under_score)
- Abertura e fechamento de chaves
- Declaração de classe, método, atributo e constante
- Namespaces
- Responsabilidade de arquivos
- Identação
- Visibilidade (encapsulamento)
Isso é bem bacana, porque quando você tem uma aplicação muito grande todos os seus arquivos são "parecidos" e você acaba viciando determinado tipo de leitura. Com o tempo vem na agilidade de interpretação do seu código.
Deixe seu comentário: