Se sei uno sviluppatore PHP o se vuoi diventarlo, è importante conoscere e seguire le “PHP Standard Recommendation“, una serie di linee guida su come standardizzare la stesura del codice PHP in modo da rendere più facilmente condivisibile il codice nella comunità PHP.

PSR: perché è importante conoscerne le basi alla perfezione

Prima della PSR non esisteva un modo uniforme di scrivere codice, ognuno usava le proprie convenzioni e il proprio stile, alcuni presero spunto da PEAR o da Zend Framework, altri ancora si inventarono degli standard propri da zero.

Il FIG

Quello delle convenzioni e delle linee guida fu un argomento chiave del PHP[TEK] 2009. Così un gruppo di persone creò il “PHP Standard Group” che recentemente ha cambiato nome in “Framework Interoperability Group”.

I membri del FIG non sono solo rappresentanti dei diversi framework PHP, ma anche di CMS, sviluppatori di package, tool, ecc… Questo perché l’idea del FIG è quella di avere un gruppo eterogeneo che rappresenti l’intera comunità PHP e non solo un gruppo ristretto di sviluppatori.

L’obiettivo del gruppo è quello di definire degli standard su un elenco definito di aspetti della programmazione in PHP, come gli autoload, lo stile di scrittura, la definizione di interfacce, ecc…

Se sei interessato a seguire le attività del FIG o se vuoi partecipare puoi farlo in più modi:

Elenco delle PSR

Elenchiamo di seguito solo le PSR accettate dal FIG. Ci sono altre recommendations in stato di bozza o di revisione. Vedi l’elenco completo.

PSR-1 – Basic coding standards

Linee guida degli standard necessari per garantire un elevato livello di interoperabilità del codice PHP condiviso tra sviluppatori.

PSR-2 – Coding Style Guide

Le linee guida PSR-2 contengono ed estendono PSR-1.

Lo scopo è quello di ridurre l’attrito cognitivo durante la lettura di codice da diversi autori, in modo da ottenere un insieme condiviso di regole e aspettative su come formattare il codice PHP. Il beneficio di queste linee guida non è nelle regole stesse, ma nella condivisione di queste regole.

PSR-3 – Logger interface

Lo scopo è quello di ottenere un’interfaccia comune per tutte le librerie logging, con un set di metodi predefiniti legati a un determinato livello di importanza del messaggio di log.

PSR-4 – Autoloading

Sostituisce la deprecata PSR-0. Definisce gli standard per la generazione di autoloading dei file PHP.

PSR-6 – Caching interface

La cache è un’importante elemento per le performance di un’applicazione PHP. Qui vengono definiti gli elementi delle interfacce per la generazione di classi che si occupano del sistema di caching.

PSR-7 – HTTP Message interface

Anche in questo caso vengono descritte interfacce orientate alla gestione di messaggi HTTP.

PSR-13 – Hypermedia links

Interfaccia per la corretta generazione di hypermedia link.

PSR-16 – Simple Cache

Questo documento contiene un’interfaccia semplice ma estensibile che descrive un elemento di cache e un driver di cache.

Corsi LaraMind: PHP, JavaScript, Laravel e Vue.js