# Standards PSR tal-PHP-FIG

> Standards PSR tal-PHP-FIG: il-PSRs kollha minn 0 sa 22 bl-istatus, dawk ewlenin fil-prattika u x'jfissru PSR-3, PSR-4 u PSR-7 għas-sigurtà.

Sors: https://phpsos.de/mt/php/psr-standards/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** Il-PSRs (PHP Standards Recommendations) huma standards tal-PHP-FIG, grupp ta' proġetti PHP stabbiliti. Jistabbilixxu regoli u interfaces komuni, pereżempju PSR-4 għall-autoloading, PSR-3 għal-loggers, PSR-7 għal messaġġi HTTP u PSR-11 għal containers. Kull PSR għandu status: aċċettat, abbozz, skadut jew abbandunat. Il-PSRs jagħmlu l-kodiċi aktar sostitwibbli u aktar faċli biex jiġi vverifikat, imma ma jagħlqux vulnerabbiltajiet fl-interpretatur ta' PHP bħal PHP2Shell.

## X'inhi l-PHP-FIG u x'inhuma l-PSRs?

PHP-FIG tfisser PHP Framework Interop Group. Il-grupp jiddeskrivi l-għan tiegħu stess bħala li jmexxi PHP 'il quddiem permezz ta' kollaborazzjoni u standards. Wara PSR għalhekk ma jkunx hemm manifattur, imma vot bejn proġetti li jridu jżommu s-softwer tagħhom kompatibbli ma' xulxin.

Għal min jieħu d-deċiżjonijiet il-benefiċċju huwa tanġibbli: jekk applikazzjoni tosserva l-interfaces tal-PSR, il-librerija tar-reġistrazzjoni, pereżempju, tista' tiġi sostitwita mingħajr ma jintmess il-kodiċi kollu. Dan inaqqas id-dipendenza minn pakketti individwali u minn fornituri tas-servizzi.

## It-triq ta' PSR: minn Pre-Draft sa Accepted

L-istatut tal-PHP-FIG jiddeskrivi proċess fiss:

1. **Pre-Draft:** Jiġi ċċarat jekk hemmx interess biżżejjed. Jiġi mwaqqaf grupp tax-xogħol, u wara vot b'suċċess il-proposta tirċievi numru PSR.
2. **Draft:** Il-proposta tiġi elaborata, alternattivi u raġunijiet jidħlu f'dokument meta.
3. **Review:** Il-komunità tittestja l-ispeċifikazzjoni b'implimentazzjonijiet ta' prova, għal mill-inqas erba' ġimgħat u sakemm ikun hemm żewġ implimentazzjonijiet indipendenti u vijabbli.
4. **Accepted:** Wara vot b'suċċess il-PSR jiġi aċċettat; il-grupp tax-xogħol jitħassar.

Barra minn hekk hemm żewġ stati oħra. **Deprecated** tfisser: aċċettat, imma mhux rakkomandat aktar, l-aktar għax standard iktar ġdid jissostitwih. **Abandoned** tfisser: ma jinħadimx aktar fuqu.

## Il-PSRs kollha bl-istatus

Stat skont il-ħarsa ġenerali tal-PHP-FIG fil-mument ta' din il-paġna:

| Nru | Titlu | Status |
|---|---|---|
| PSR-0 | Autoloading Standard | skadut |
| PSR-1 | Basic Coding Standard | aċċettat |
| PSR-2 | Coding Style Guide | skadut |
| PSR-3 | Logger Interface | aċċettat |
| PSR-4 | Autoloading Standard | aċċettat |
| PSR-5 | PHPDoc Standard | abbozz |
| PSR-6 | Caching Interface | aċċettat |
| PSR-7 | HTTP Message Interface | aċċettat |
| PSR-8 | Huggable Interface | abbandunat |
| PSR-9 | Security Advisories | abbandunat |
| PSR-10 | Security Reporting Process | abbandunat |
| PSR-11 | Container Interface | aċċettat |
| PSR-12 | Extended Coding Style Guide | aċċettat |
| PSR-13 | Hypermedia Links | aċċettat |
| PSR-14 | Event Dispatcher | aċċettat |
| PSR-15 | HTTP Handlers | aċċettat |
| PSR-16 | Simple Cache | aċċettat |
| PSR-17 | HTTP Factories | aċċettat |
| PSR-18 | HTTP Client | aċċettat |
| PSR-19 | PHPDoc tags | abbozz |
| PSR-20 | Clock | aċċettat |
| PSR-21 | Internationalization | abbozz |
| PSR-22 | Application Tracing | abbozz |

## Il-PSRs l-aktar importanti fil-prattika

- **PSR-4 (Autoloading):** jimmappja ismijiet ta' klassijiet fuq mogħdijiet ta' fajls u huwa l-bażi tal-autoloader ta' Composer. Dettalji fil-paġna [Namespaces u autoloading](https://phpsos.de/mt/php/namespaces-autoloading/).
- **PSR-1 u PER Coding Style:** regoli komuni għall-ortografija u l-formattjar. PER Coding Style jestendi u, skont il-PHP-FIG, jissostitwixxi PSR-12 u jipprevedi PSR-1.
- **PSR-3 (Logger):** interface uniformi tal-logger fin-namespace `Psr\Log` b'tmien livelli minn `emergency` sa `debug`.
- **PSR-7, PSR-15, PSR-17, PSR-18 (HTTP):** interfaces għal talbiet u tweġibiet, middleware, factories u clients HTTP. Ħafna [frameworks ta' PHP](https://phpsos.de/mt/php/php-frameworks/) jibnu fuqhom jew joffru pontijiet.
- **PSR-11 (Container):** interface komuni għal containers ta' dependency injection.
- **PSR-6 u PSR-16 (Cache):** żewġ interfaces għall-ħażna temporanja, waħda dettaljata u waħda sempliċi.
- **PSR-14 u PSR-20 (Events, arloġġ):** interfaces komuni għall-avvenimenti u għall-ħin kurrenti. Arloġġ sostitwibbli jagħmel kodiċi li jiddependi mill-ħin, pereżempju l-iskadenza ta' tokens, faċli biex jiġi ttestjat.

In-numri, bil-mod, ma jgħidu xejn dwar l-importanza. Jingħataw meta tidħol il-fażi tal-abbozz, u għalhekk proposti skaduti u abbandunati jinsabu bejn standards importanti u aċċettati.

```php
<?php
use Psr\Log\LoggerInterface;

final class Bestellimport
{
    public function __construct(private LoggerInterface $log) {}

    public function importieren(string $datei): void
    {
        try {
            // ... ipproċessa l-fajl ...
        } catch (\Throwable $e) {
            $this->log->error('Import von {datei} fehlgeschlagen', [
                'datei'     => basename($datei),
                'exception' => $e,
            ]);
        }
    }
}
```

## X'relazzjoni għandhom il-PSRs mas-sigurtà

Diversi standards jolqtu direttament is-sigurtà. PSR-3 jistabbilixxi li l-exceptions jingħaddew fil-kuntest taħt iċ-ċavetta `exception` u li placeholders bħal `{datei}` jinbidlu mill-kuntest. Il-valuri m'għandhomx jiġu megħjuna minn qabel, għax il-logger ma jafx fejn aktar tard se jintwerew. Min juri l-logs f'interface tal-web irid jagħmel dan l-escaping hemmhekk. Aktar dwar dan fl-artikolu [Reġistrazzjoni sigura](https://phpsos.de/mt/blog/sicher-loggen-php/).

PSR-7 jiddeskrivi l-messaġġi HTTP bħala oġġetti li ma jinbidlux u b'`UploadedFileInterface::moveTo()` joffri mod uniformi biex fajls imtellgħin jinħażnu. L-ispeċifikazzjoni teżiġi li l-fajl oriġinali jitneħħa wara. Il-verifika tat-tip tal-fajl u tad-destinazzjoni tibqa' kompitu tal-applikazzjoni.

Jixraq li jiġi nnutat li PSR-9 (Security Advisories) u PSR-10 (Security Reporting Process) ġew abbandunati. Standard komuni għal rapporti tas-sigurtà għalhekk ma jeżistix; kull proġett jirregola dan waħdu. Kif il-proġett PHP innifsu jittratta l-vulnerabbiltajiet tiddeskrivih il-paġna [Kif il-proġett PHP jittratta l-vulnerabbiltajiet tas-sigurtà](https://phpsos.de/mt/php/php-sicherheitsprozess/).

Kontra PHP2Shell l-istandards ma jgħinux: il-vulnerabbiltajiet CVE-2026-109618 u CVE-2026-109619 jinsabu fl-interpretatur. Obbligatorju huwa l-aġġornament għal PHP 8.5.12, 8.4.27, 8.3.36 jew 8.2.35 u r-restart tal-proċessi kollha ta' PHP.

## Kif jgħin PHP SOS konkretament?

- Niċċekkjaw kif l-applikazzjoni tagħkom tirreġistra u niżguraw li l-exceptions jispiċċaw fil-log, imma mhux data ta' aċċess jew identifikaturi tas-sessjoni.
- Nevalwaw kif huma implimentati l-ipproċessar tal-uploads u tal-HTTP, anki jekk jgħaddu minn libreriji PSR-7.
- Neżaminaw żviluppi proprji bħala parti minn [awditu tas-sigurtà u test ta' penetrazzjoni](https://phpsos.de/mt/leistungen/sicherheitsaudit-penetrationstest/).
- Napplikaw aġġornamenti ta' PHP, nerġgħu nibdew il-workers kollha u niddokumentaw l-istat.


## Mistoqsijiet frekwenti

**X'tfisser PSR?**  
PSR tfisser PHP Standards Recommendation. Ir-rakkomandazzjonijiet jiġu żviluppati u miftiehma mill-PHP-FIG, il-PHP Framework Interop Group. Huma volontarji, imma ħafna frameworks u libreriji japplikawhom.

**PSR-12 għadu japplika?**  
PSR-12 għadu miżmum mill-PHP-FIG bħala aċċettat. Madankollu, il-PHP-FIG ippubblikat suċċessur, PER Coding Style, li skont dak li tgħid hi stess jestendi u jissostitwixxi PSR-12. Bħalissa hemmhekk il-verżjoni hi 3.1.

**Hemm PSR għal rapporti tas-sigurtà?**  
Kien hemm żewġ proposti, PSR-9 għal Security Advisories u PSR-10 għall-proċess tar-rappurtar ta' vulnerabbiltajiet. It-tnejn huma miżmuma mill-PHP-FIG bħala abbandunati. Il-proġetti għalhekk jirregolaw huma stess il-proċess tar-rappurtar.

**Il-proġett tiegħi jrid josserva l-PSRs?**  
Le, m'hemm l-ebda obbligu. PSR-4 għall-autoloading u l-interfaces bħal PSR-3 jew PSR-7, madankollu, jiffaċilitaw b'mod sinifikanti l-użu ta' pakketti barranin u l-bidla ta' fornituri tas-servizzi.

## Sorsi

- [PHP-FIG: Ħarsa ġenerali tal-PSRs](https://www.php-fig.org/psr/)
- [PHP-FIG: Il-fluss tax-xogħol tal-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/)
