# Caighdeáin PSR an PHP-FIG

> Caighdeáin PSR an PHP-FIG: gach PSR ó 0 go 22 agus a stádas, na cinn is tábhachtaí sa chleachtas agus cad is brí le PSR-3, PSR-4 agus PSR-7 don tslándáil.

Foinse: https://phpsos.de/ga/php/psr-standards/  
Staid: 25/10/2026  
Soláthraí: PHP SOS, Cabhair éigeandála PHP agus slándáil freastalaí. Cabhair láithreach trí WhatsApp: https://wa.me/491736494914?text=Dia%20duit%2C%20a%20PHP%20SOS%2C%20t%C3%A1%20cabhair%20de%20dh%C3%ADth%20orainn%20len%C3%A1r%20bhfreastala%C3%AD%20PHP.%20Cuideachta%3A%20%E2%80%A6%20Su%C3%ADomh%20gr%C3%A9as%C3%A1in%3A%20%E2%80%A6

**Go achomair:** Is caighdeáin den PHP-FIG iad PSRanna (PHP Standards Recommendations), grúpa de thionscadail bhunaithe PHP. Socraíonn siad rialacha agus comhéadain choiteanna, mar shampla PSR-4 don uathluchtú, PSR-3 do loggers, PSR-7 do theachtaireachtaí HTTP agus PSR-11 do choimeádáin. Tá stádas ag gach PSR: glactha, dréacht, imithe i léig nó tréigthe. Déanann PSRanna cód níos inmhalartaithe agus níos éasca a sheiceáil, ach ní dhúnann siad leochaileachtaí san ateangaire PHP ar nós PHP2Shell.

## Cad é an PHP-FIG agus cad iad PSRanna?

Seasann PHP-FIG do PHP Framework Interop Group. Cuireann an grúpa síos ar a sprioc féin mar PHP a chur chun cinn trí chomhoibriú agus caighdeáin. Ní monaróir atá taobh thiar de PSR, mar sin, ach comhaontú idir tionscadail ar mian leo a mbogearraí a choimeád comhoiriúnach lena chéile.

Do lucht cinnteoireachta tá an tairbhe soiléir: má chloíonn feidhmchlár le comhéadain PSR, is féidir an leabharlann logála, mar shampla, a mhalartú gan teagmháil a dhéanamh leis an gcód ar fad. Laghdaíonn sé sin an spleáchas ar phacáistí agus ar sholáthraithe seirbhíse aonair.

## Bealach PSR: ó Pre-Draft go Accepted

Déanann bunreacht an PHP-FIG cur síos ar phróiseas seasta:

1. **Pre-Draft:** Déantar soiléiriú ar an bhfuil go leor spéise ann. Foirmíonn grúpa oibre, tar éis vótála rathúil faigheann an moladh uimhir PSR.
2. **Draft:** Cuirtear an moladh i gcrích, téann roghanna eile agus cúiseanna i meta-dhoiciméad.
3. **Review:** Déanann an pobal tástáil ar an sonrúchán le cur chun feidhme turgnamhach, ar feadh ceithre seachtaine ar a laghad agus go dtí go bhfuil dhá chur chun feidhme neamhspleácha inbhuanaithe ann.
4. **Accepted:** Tar éis vótála rathúla glactar leis an PSR; scoirtear den ghrúpa oibre.

Taobh leis sin tá dhá staid eile ann. Ciallaíonn **Deprecated**: glactha, ach gan a mholadh a thuilleadh, de ghnáth toisc go gcuireann caighdeán níos nuaí ina áit é. Ciallaíonn **Abandoned**: ní bhítear ag obair air a thuilleadh.

## Gach PSR agus a stádas

An staid de réir forbhreathnú an PHP-FIG tráth an leathanaigh seo:

| Uimh. | Teideal | Stádas |
|---|---|---|
| PSR-0 | Autoloading Standard | imithe i léig |
| PSR-1 | Basic Coding Standard | glactha |
| PSR-2 | Coding Style Guide | imithe i léig |
| PSR-3 | Logger Interface | glactha |
| PSR-4 | Autoloading Standard | glactha |
| PSR-5 | PHPDoc Standard | dréacht |
| PSR-6 | Caching Interface | glactha |
| PSR-7 | HTTP Message Interface | glactha |
| PSR-8 | Huggable Interface | tréigthe |
| PSR-9 | Security Advisories | tréigthe |
| PSR-10 | Security Reporting Process | tréigthe |
| PSR-11 | Container Interface | glactha |
| PSR-12 | Extended Coding Style Guide | glactha |
| PSR-13 | Hypermedia Links | glactha |
| PSR-14 | Event Dispatcher | glactha |
| PSR-15 | HTTP Handlers | glactha |
| PSR-16 | Simple Cache | glactha |
| PSR-17 | HTTP Factories | glactha |
| PSR-18 | HTTP Client | glactha |
| PSR-19 | PHPDoc tags | dréacht |
| PSR-20 | Clock | glactha |
| PSR-21 | Internationalization | dréacht |
| PSR-22 | Application Tracing | dréacht |

## Na PSRanna is tábhachtaí sa chleachtas

- **PSR-4 (uathluchtú):** mapálann sé ainmneacha aicmí ar chosáin chomhaid agus is bunús d'uathluchtóir Composer é. Sonraí ar an leathanach [Spásanna ainmneacha agus uathluchtú](https://phpsos.de/ga/php/namespaces-autoloading/).
- **PSR-1 agus PER Coding Style:** rialacha coitianta litrithe agus formáidithe. Leathnaíonn agus cuireann PER Coding Style PSR-12 ina áit, de réir an PHP-FIG, agus ceanglaíonn sé PSR-1.
- **PSR-3 (Logger):** comhéadan loggera aonfhoirmeach sa spás ainmneacha `Psr\Log` le hocht leibhéal ó `emergency` go `debug`.
- **PSR-7, PSR-15, PSR-17, PSR-18 (HTTP):** comhéadain d'iarratais agus freagraí, middleware, monarchana agus cliaint HTTP. Tógann a lán [creataí PHP](https://phpsos.de/ga/php/php-frameworks/) orthu nó tairgeann droichid.
- **PSR-11 (Container):** comhéadan coiteann do choimeádáin Dependency Injection.
- **PSR-6 agus PSR-16 (taisce):** dhá chomhéadan do thaisceanna, ceann mionsonraithe agus ceann simplí.
- **PSR-14 agus PSR-20 (imeachtaí, clog):** comhéadain choiteanna d'imeachtaí agus don am reatha. Fágann clog inmhalartaithe cód atá spleách ar am, mar shampla comharthaí a rachaidh as feidhm, éasca le tástáil.

Dála an scéil, ní insíonn na huimhreacha aon ní faoin tábhacht. Sanntar iad nuair a théann moladh isteach sa chéim dréachta, agus dá bhrí sin tá moltaí imithe i léig agus tréigthe idir caighdeáin thábhachtacha ghlactha.

```php
<?php
use Psr\Log\LoggerInterface;

final class Bestellimport
{
    public function __construct(private LoggerInterface $log) {}

    public function importieren(string $datei): void
    {
        try {
            // ... an comhad a phróiseáil ...
        } catch (\Throwable $e) {
            $this->log->error('Import von {datei} fehlgeschlagen', [
                'datei'     => basename($datei),
                'exception' => $e,
            ]);
        }
    }
}
```

## Cad atá le déanamh ag PSRanna le slándáil

Baineann roinnt caighdeán go díreach leis an tslándáil. Socraíonn PSR-3 go gcuirtear eisceachtaí ar aghaidh faoin eochair `exception` sa chomhthéacs agus go gcuirtear sealbhóirí áite ar nós `{datei}` in ionad luachanna ón gcomhthéacs. Níor cheart luachanna a chosc roimh ré, mar níl a fhios ag an logger cá dtaispeánfar iad ar ball. An té a thaispeánann logaí i gcomhéadan gréasáin, ní mór dó a chosc ansin. Tuilleadh san alt [Logáil shábháilte](https://phpsos.de/ga/blog/sicher-loggen-php/).

Déanann PSR-7 cur síos ar theachtaireachtaí HTTP mar oibiachtaí do-athraithe agus tairgeann sé bealach aonfhoirmeach chun comhaid uaslódáilte a stóráil le `UploadedFileInterface::moveTo()`. Éilíonn an sonrúchán go mbaintear an bunchomhad ina dhiaidh. Fanann seiceáil chineál an chomhaid agus na ceann scríbe mar chúram don fheidhmchlár.

Is díol suntais é gur tréigeadh PSR-9 (Security Advisories) agus PSR-10 (Security Reporting Process). Dá bhrí sin níl caighdeán coiteann ann do thuairiscí slándála; rialaíonn gach tionscadal é féin. Míníonn an leathanach [Conas a láimhseálann tionscadal PHP leochaileachtaí slándála](https://phpsos.de/php/php-sicherheitsprozess/) conas a láimhseálann tionscadal PHP féin leochaileachtaí.

I gcoinne PHP2Shell ní chabhraíonn caighdeáin: tá na leochaileachtaí CVE-2026-109618 agus CVE-2026-109619 san ateangaire. Is éigeantach an nuashonrú go PHP 8.5.12, 8.4.27, 8.3.36 nó 8.2.35 agus atosú gach próisis PHP.

## Conas a chabhraíonn PHP SOS go praiticiúil?

- Seiceálaimid conas a logálann d'fheidhmchlár agus cinntímid go dtéann eisceachtaí isteach sa loga, ach gan sonraí rochtana ná aitheantóirí seisiúin.
- Measaimid conas a cuireadh próiseáil uaslódálacha agus HTTP i bhfeidhm, fiú má ritheann sí trí leabharlanna PSR-7.
- Scrúdaímid forbairtí féin mar chuid d'[iniúchadh slándála agus tástáil threáite](https://phpsos.de/ga/leistungen/sicherheitsaudit-penetrationstest/).
- Suiteálaimid nuashonruithe PHP, atosaímid gach oibrí agus déanaimid an staid a dhoiciméadú.


## Ceisteanna coitianta

**Cad is brí le PSR?**  
Seasann PSR do PHP Standards Recommendation. Déanann an PHP-FIG, an PHP Framework Interop Group, na moltaí a ullmhú agus a chomhaontú. Tá siad deonach, ach cuireann a lán creataí agus leabharlanna i bhfeidhm iad.

**An bhfuil PSR-12 fós i bhfeidhm?**  
Tá PSR-12 liostaithe fós mar ghlactha ag an PHP-FIG. Ach d'fhoilsigh an PHP-FIG comharba leis an PER Coding Style, a leathnaíonn agus a chuireann PSR-12 ina áit, dar leis féin. Is é leagan 3.1 an leagan reatha ansin.

**An bhfuil PSR ann do thuairiscí slándála?**  
Bhí dhá mholadh ann, PSR-9 do Security Advisories agus PSR-10 don phróiseas chun leochaileachtaí slándála a thuairisciú. Tá an bheirt liostaithe mar thréigthe ag an PHP-FIG. Rialaíonn tionscadail a bpróiseas tuairiscithe féin dá bhrí sin.

**An gcaithfidh mo thionscadal cloí le PSRanna?**  
Ní chaithfidh, níl aon oibleagáid ann. Éascaíonn PSR-4 don uathluchtú agus na comhéadain ar nós PSR-3 nó PSR-7, áfach, úsáid pacáistí coimhthíocha agus athrú soláthraithe seirbhíse go mór.

## Foinsí

- [PHP-FIG: Forbhreathnú PSR](https://www.php-fig.org/psr/)
- [PHP-FIG: Sreabhadh oibre PSR](https://www.php-fig.org/bylaws/psr-workflow/)
- [PHP-FIG: PER Coding Style](https://www.php-fig.org/per/coding-style/)
- [PHP-FIG: PSR-3 Logger Interface](https://www.php-fig.org/psr/psr-3/)
- [PHP-FIG: PSR-7 HTTP Message Interface](https://www.php-fig.org/psr/psr-7/)
