O PHP Framework Interoperability Group (PHP – FIG), são vários representantes de projetos com PHP, com intenção de tentar encontrar familiaridade em seus projetos, e partir dai sugerir formas de padronização.
Ao tentar padronizar determinados aspectos, isso facilitar a utilização de bibliotecas em projetos, entendimento de código, até mesmo de você escrever seu código.
Vale ressaltar quando é informado “Padrão”, não quer dizer que você seja obrigado a seguir a risca, mas ao adotá-los, você poderá garantir que outras pessoas consigam utilizar seus projetos com mais facilidades.
Chegamos então as PSR’s (PHP Specification Request)
PSR 0 – Voltado para padronizar nomes pra arquivos, classes, namespace, pra utilização do autoloading (carregamento de classes)
https://github.com/enricopvarella/fig-standards/blob/master/accepted/pt-br/PSR-0.md
PSR 1 – Voltado para uma padronização e normalização de Código, como tipo de tag de php, Codificação de Caracteres, como devem ser escritos constantes, métodos, etc.
https://github.com/enricopvarella/fig-standards/blob/master/accepted/pt-br/PSR-1.md
PSR 2 – Como a PSR 1, talvez voltado pra padronização , normalização, e para estilo de código, como espaço pra endentação
https://github.com/enricopvarella/fig-standards/blob/master/accepted/pt-br/PSR-2.md
PSR 3 – Voltado pra interface comum para criação de biblioteca de LOG
https://github.com/enricopvarella/fig-standards/blob/master/accepted/pt-br/PSR-3.md
PSR 4 – Também voltado pra autoloading, com intuito de complementar a PSR 0, quando necessário. A diferença basica entre PSR 0 e PSR4, seria que na PSR 4, teria uma estrutura mais “enxuta” relacionado as pastas, comparada a PSR 0
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
Recomendo acessar os links referente a PSR’s (da zero a terceira, está traduzido), e tente implementar em seus códigos, para tentar entender melhor que cada proposta de PSR está sugerindo.
Espero que tenha ajudado, e até a próxima.