PSR (PHP Standards Recommendation) is een set van conventies en richtlijnen voor PHP codering die zijn opgesteld door de PHP-FIG (PHP Framework Interoperability Group). Deze richtlijnen zijn ontworpen om de interoperabiliteit tussen verschillende PHP frameworks en libraries te verbeteren, en om een uniforme codestijl aan te prijzen die het gemakkelijker maakt om code te lezen en te begrijpen.
1. PSR-1: Basic Coding Standard
PSR-1 definieert fundamentele regels voor PHP code, waaronder:
- Code moet alleen PHP tags gebruiken (``, `= ?>`).
- Class-namen moeten in PascalCase zijn.
- Method-namen moeten in camelCase zijn.
1. PSR-2: Coding Style Guide
PSR-2 bouwt voort op PSR-1 en voegt meer specifieke richtlijnen voor code-indeling en stijl toe, zoals:
- Gebruik van vier spaties voor indentatie (in plaats van tabs).
- Het plaatsen van de openingshaakjes voor methoden en functies op dezelfde regel als de definitie, en het sluitingshaakje op een nieuwe regel.
1. PSR-3: Logger Interface PSR-3 definieert een standaard interface voor logging bibliotheken. Dit maakt het mogelijk om verschillende logging implementaties in dezelfde codebase te gebruiken zonder de code aan te passen.
Bron: [PSR-3: Logger Interface](https://www.php-fig.org/psr/psr-3/)1. PSR-4: Autoloader PSR-4 specificeert autorisatie standaarden voor het automatisch laden van PHP bestanden om te zorgen dat consistentie wordt gehandhaafd in de manier waarop libraries en frameworks hun classes organiseren.
Bron: [PSR-4: Autoloader](https://www.php-fig.org/psr/psr-4/)1. PSR-7: HTTP Message Interfaces PSR-7 beschrijft interfaces voor het werken met HTTP berichten, inclusief verzoeken en antwoorden. Dit bevordert interoperabiliteit tussen middleware components en HTTP client libraries.
Bron: [PSR-7: HTTP Message Interfaces](https://www.php-fig.org/psr/psr-7/)1. PSR-12: Extended Coding Style Guide PSR-12 is een uitbreiding van PSR-2 die nieuwe richtlijnen en best practices toevoegt en moderniseert voor PHP code stijl.
Bron: [PSR-12: Extended Coding Style Guide](https://www.php-fig.org/psr/psr-12/)
1. PSR-1: \`\`\`php class ClassName { public function methodName() { echo ‘Hello, world!’; } } ?> \`\`\`
1. PSR-2: \`\`\`php class ClassName { public function methodName() { if (condition) { // code } else { // code } } } ?> \`\`\`
1. PSR-4: Stel dat je een class `MyClass` in een directory structuur hebt als `src/Foo/Bar/MyClass.php`; \`\`\`php // Composer JSON configuratie voor PSR-4 { “autoload”: { “psr-4”: { “Foo\Bar\\”: “src/Foo/Bar/“ } } } \`\`\`
PSR standaarden zijn essentieel voor een betere samenhang en leesbaarheid in PHP projecten. Het volgen van deze richtlijnen maakt het niet alleen makkelijker om in teamverband te werken maar ook om code van anderen te begrijpen en te beheren.
Voor meer informatie kun je de specifieke PSR documenten raadplegen via de officiële [PHP-FIG website](https://www.php-fig.org/psr/) waar gedetailleerde uitleg en voorbeelden van alle aanbevelingen zijn te vinden.