# PHP 8.0 go 8.5: na nuachtaí is tábhachtaí

> Nuachtaí PHP 8 ó 8.0 go 8.5: príomhfheidhmeanna gach leagain, samplaí cóid, dímholtaí le riosca uasghráduithe agus cad atá ábhartha don tslándáil.

Foinse: https://phpsos.de/ga/php/php-8-neuerungen/  
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:** Thug PHP 8.0 (Samhain 2020) argóintí ainmnithe, tréithe, cineálacha union, `match`, an t-oibreoir nullsafe agus tiomsaitheoir JIT. Ina dhiaidh sin tháinig leagan gach bliain: 8.1 le enums agus Fibers, 8.2 le ranganna readonly, 8.3 le tairisigh aicme clóscríofa, 8.4 le Property Hooks agus 8.5 leis an oibreoir píopa agus an eisínteacht URI. Cuireann gach leagan seanrudaí i dtreis freisin. Dá bhrí sin, tá tábhacht le tástálacha agus uasghrádú, agus don tslándáil is tábhachtaí brainse tacaithe a oibriú le staid phaiste cothrom le dáta.

## Nuachtaí PHP 8 i mbreathnú

Tugann an tábla achoimre ar phríomhphointí leathanaigh eisiúna php.net. Dátaí an chéad fhoilsithe de réir php.net.

| Leagan | Foilsithe | Na nuachtaí is tábhachtaí | Rogha dímholtaí agus briseadh |
|---|---|---|---|
| 8.0 | 26.11.2020 | argóintí ainmnithe, tréithe, Constructor Property Promotion, cineálacha union, `match`, `?->`, JIT | is `false` anois `0 == 'foobar'`, earráidí cineáil in ionad rabhaidh |
| 8.1 | 25.11.2021 | enums, airíonna readonly, First-Class-Callables `strlen(...)`, `new` in tosaitheoirí, cineálacha Intersection, `never`, Fibers | – |
| 8.2 | 08.12.2022 | ranganna readonly, cineálacha DNF, `null`/`false`/`true` mar chineálacha, eisínteacht Random, tairisigh i traits, `#[\SensitiveParameter]` | airíonna dinimiciúla dímholta |
| 8.3 | 23.11.2023 | tairisigh aicme clóscríofa, `#[\Override]`, `json_validate()`, `mb_str_pad()`, `php -l` do roinnt comhad | – |
| 8.4 | 21.11.2024 | Property Hooks, infheictheacht neamhshiméadrach, `#[\Deprecated]`, API DOM nua le HTML5, `BcMath\Number`, `array_find()`, Lazy Objects | paraiméadair nullable intuigthe dímholta; IMAP, OCI8, PDO_OCI, pspell go PECL |
| 8.5 | 20.11.2025 | oibreoir píopa, eisínteacht URI, Clone With, `#[\NoDiscard]`, `array_first()`/`array_last()` | oibreoir backtick dímholta, `disable_classes` bainte |

## PHP 8.0 agus 8.1: an chéim mhór

Rinne PHP 8.0 an teanga níos dírí agus níos léiritheach. De réir an leathanaigh eisiúna, caitheann feidhmeanna inmheánacha `TypeError` nó `ValueError` anois go comhsheasmhach in ionad rabhaidh a thabhairt amháin. Leanann comparáidí idir uimhreacha agus teaghráin rialacha níos glaine.

```php
<?php
// PHP 8.0: déanann match comparáid dhocht agus ní theastaíonn break uaidh
$status = 404;
echo match (true) {
    $status >= 500 => 'Serverfehler',
    $status >= 400 => 'Anfragefehler',
    default        => 'in Ordnung',
};

// PHP 8.0: oibreoir nullsafe
$land = $bestellung?->kunde?->adresse?->land;
```

Thug PHP 8.1 enums, is é sin cineálacha áirimh le luachanna seasta, agus airíonna readonly nach féidir a shocrú ach uair amháin:

```php
<?php
enum Rolle: string {
    case Leser = 'leser';
    case Redakteur = 'redakteur';
    case Admin = 'admin';
}

final class Benutzer {
    public function __construct(
        public readonly string $name,
        public readonly Rolle $rolle,
    ) {}
}

$b = new Benutzer('Erika', Rolle::from('redakteur'));
```

Caitheann `Rolle::from()` earráid i gcás luachanna anaithnide. Cuireann sé sin cosc ar theaghráin treallacha ó fhoirmeacha sleamhnú tríd mar ról. An té a bhfuil luach folamh de dhíth air in ionad earráide, úsáideann sé `Rolle::tryFrom()`, a thugann `null` ar ais i gcás luachanna anaithnide.

Nua i 8.1 freisin tá Fibers, bunús do shreafaí comhthráthacha ar a dtógann leabharlanna d'fheidhmiú asioncrónach. I ngnáthoibriú suímh gréasáin is beag a thugtar faoi deara, ach i bhfráma-oibreacha nua-aimseartha agus i scuaineanna is cinnte go dtugtar.

## PHP 8.2 agus 8.3: glanadh agus cosaint

Dhímholadh airíonna dinimiciúla le PHP 8.2. An té a shannann airí neamhdhearbhaithe d'oibiacht, faigheann sé leid; le `#[\AllowDynamicProperties]` is féidir é sin a cheadú do ranganna aonair. Dá bhrí sin cruthaíonn seanbhreiseáin a lán teachtaireachtaí sa log go minic.

Tá spéis don tslándáil sa eisínteacht Random nua, a n-úsáideann a randamóir caighdeánach gineadóir randamach sábháilte go cripteagrafach de réir an leathanaigh eisiúna, agus sa tréith `#[\SensitiveParameter]`, a cheileann luachanna ar nós pasfhocal i stacktraces. Tuilleadh faoi luachanna randamacha sábháilte ag [Uimhreacha randamacha sábháilte agus comharthaí i PHP](https://phpsos.de/ga/blog/sichere-tokens-php/).

Chuir PHP 8.3 tairisigh aicme clóscríofa leis, an tréith `#[\Override]` i gcoinne earráidí clóscríofa agus modhanna á bhforscríobh, agus `json_validate()`, a sheiceálann JSON gan é a dhíchódú go hiomlán.

## PHP 8.4 agus 8.5: modhanna teanga nua-aimseartha

Thug PHP 8.4 isteach Property Hooks, is é sin loighic go díreach ar airíonna, agus infheictheacht neamhshiméadrach ar nós `public private(set)`. Tháinig API DOM nua le tacaíocht HTML5 agus feidhmeanna ar nós `array_find()`, `array_any()` agus `array_all()` leo sin. De réir an leathanaigh eisiúna, aistríodh na heisínteachtaí IMAP, OCI8, PDO_OCI agus pspell ón gcroí go PECL. Teastaíonn pacáiste ar leith ó fheidhmchláir a úsáideann IMAP, mar shampla.

Thug PHP 8.5 an t-oibreoir píopa, a nascann glaonna ó chlé go deas:

```php
<?php
$slug = '  Neue Produkte 2026  '
    |> trim(...)
    |> strtolower(...)
    |> (fn(string $s): string => str_replace(' ', '-', $s));
// Toradh: "neue-produkte-2026"
```

Nua freisin tá eisínteacht URI a bhriseann seoltaí síos de réir RFC 3986 agus caighdeán URL WHATWG. Tá sé seo ábhartha don tslándáil, mar is cúis aitheanta le seiceálacha a sheachbhóthar iad URLanna a pharsáiltear go neamhchomhsheasmhach. Tá an t-oibreoir backtick, mar ghearrfhoirm de `shell_exec()`, dímholta, bainadh an socrú `disable_classes`. An té a d'úsáid iad, ba cheart dó a chruatúchán a oiriúnú.

## Nuachtaí, uasghráduithe agus PHP2Shell

Ní dhúnann feidhmeanna nua teanga leochaileachtaí san ateangaire. I gcoinne PHP2Shell ní chabhraíonn ach staid phaiste reatha an bhrainse ábhartha: 8.5.12, 8.4.27, 8.3.36 nó 8.2.35. Do PHP 8.1 agus 8.0 níl aon nuashonruithe oifigiúla ann a thuilleadh. An té a bhfuil sé greamaithe ansin, ní mór dó uasghrádú, agus ní chabhraíonn na nuachtaí leis ach go gann, ach cabhraíonn na briseadh go mór.

Bealach slán uasghrádaithe i gcúig chéim:

1. An sprioc-leagan a shocrú, de réir riachtanais an chórais ón monaróir agus an [timthrialla eisiúna](https://phpsos.de/ga/php/release-zyklus/).
2. Spleáchais trí Composer agus breiseáin a thabhairt go staid chomhoiriúnach.
3. An cód a sheiceáil le hanailís statach agus tástálacha i gcoinne an sprioc-leagain.
4. Triail a bhaint as i dtimpeallacht tástála le cóip de na sonraí táirgeachta, logaí a mheas le haghaidh dímholtaí.
5. Aistriú, gach próiseas PHP a atosú agus an staid a dhoiciméadú.

Tá cúlra faoi chineálacha ag [An córas cineálacha de chuid PHP](https://phpsos.de/ga/php/typsystem/).

## Conas a chabhraíonn PHP SOS go praiticiúil?

- **Comhoiriúnacht a sheiceáil:** Déanaimid anailís ar do chód agus ar d'eisínteachtaí le haghaidh briseadh don sprioc-leagan.
- **Uasghrádú a dhéanamh:** Leis an [imirce go leagan PHP tacaithe](https://phpsos.de/ga/leistungen/php-migration-legacy/) ardaímid feidhmchláir go tástáilte.
- **Cruatúchán a oiriúnú:** Cuirimid roghanna éifeachtacha in ionad socruithe bainte ar nós `disable_classes`.
- **Staid phaiste a choinneáil:** Tar éis an uasghrádaithe coinnímid an brainse cothrom le dáta agus cruthaímid gach atosú.


## Ceisteanna coitianta

**Cén leagan de PHP 8 ba cheart dom a úsáid inniu?**  
Do thionscadail nua PHP 8.4 nó 8.5, mar go bhfaigheann siad tacaíocht is faide: 8.4 go deireadh 2028, 8.5 go deireadh 2029. Is é an rud is tábhachtaí ná cad a thacaíonn do fheidhmchlár leis de réir riachtanais an chórais ón monaróir. Críochnaíonn PHP 8.2 an 31 Nollaig 2026.

**Cad a bhriseann is minice agus tú ag aistriú ó PHP 7.4 go PHP 8?**  
Is minic gur seiceálacha cineáil níos doimhne iad: caitheann feidhmeanna inmheánacha TypeError nó ValueError i PHP 8 in ionad rabhaidh amháin a thabhairt. Tagann comparáidí athraithe idir uimhreacha agus teaghráin chun solais freisin. Aimsíonn anailís statach agus tástálacha an chuid is mó roimh ré.

**An ndéanann an JIT mo shuíomh gréasáin níos tapúla?**  
Is beag de ghnáth. De réir leathanach eisiúna PHP 8.0, tá feidhmíocht feidhmchlár gréasáin tipiciúil thart ar leibhéal PHP 7.4, agus is féidir le tascanna ríomhaireachta troma tairbhe shuntasach a bhaint as. Ó PHP 8.4 i leith tá an JIT múchta de réir réamhshocraithe.

**Cé na nuachtaí a chabhraíonn leis an tslándáil?**  
Ina measc, an eisínteacht Random nua i PHP 8.2 le caighdeán sábháilte go cripteagrafach, an tréith SensitiveParameter i gcoinne pasfhocal i stacktraces, enums agus airíonna readonly le haghaidh sonraí níos soiléire, chomh maith leis na hearráidí cineáil níos comhsheasmhaí ó PHP 8.0.

## Foinsí

- [php.net: Eisiúint PHP 8.0](https://www.php.net/releases/8.0/en.php)
- [php.net: Eisiúint PHP 8.4](https://www.php.net/releases/8.4/en.php)
- [php.net: Eisiúint PHP 8.5](https://www.php.net/releases/8.5/en.php)
- [ChangeLog PHP 8](https://www.php.net/ChangeLog-8.php)
- [php.net: Leaganacha tacaithe](https://www.php.net/supported-versions.php)
