Nette a podpora pro PHP 8.1

David Grudl
Nette Core | 8136
+
+16
-

Všechny balíčky Nette by měly být připravené na PHP 8.1, které by mělo vyjít na konci listopadu.

V tuto chvíli se to týká převážně vývojových verzí (tedy master nebo 3.1-dev apod., tedy ještě netagovaných). Pokud se chystáte s PHP 8.1 experimentovat, můžete tak postupně testovat i Nette.

Nette 3.1 tedy bude podporovat PHP 7.2 – 8.1 (a případně vyšší), připravované Nette 4 bude pro PHP 8.0 – 8.1 (a vyšší). Naopak PHP 8.1 určitě nebude podporovat Nette 3.0 nebo 2.4, protože tam už by to bylo značně komplikované.

PhpGenerator

Aktuální verze 3.6.0 (RC) podporuje všechny nové vychytávky PHP 8.1, jako jsou enum, readonly properties, final constants, intersection types atd.

DI

Enumy můžete používat přímo v konfiguračních souborech:

enum Role {
	case Admin;
	...
}
services:
	- User(Role::Admin)

DI také rozumí intersection typům, které podobně jako union typy neautowiruje.

Tracy

Podpora enumů přibyla do Dumperu.

RobotLoader

Umí autoloading pro enumy.

dsar
Backer | 53
+
0
-

Thank you.

Does Application also require a new release?

File: .../src/Application/Routers/RouteList.php:123

Return type of Nette\Application\Routers\RouteList::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice