Nette plně podporuje PHP 7.4. Co to znamená?

před 16 dny  ·  2 minuty na čtení

Už se jen několikrát vyspíte a bude tu PHP 7.4. Tahle verze je dalším důležitým mezníkem ve vývoji jazyka. Skvělá zpráva je, že framework Nette je na novou verzi důkladně připraven a plně s ní otestován. A pozor, týká se to nejen aktuální verze 3.0, ale i předchozí verze 2.4.

Pokud chcete ihned začít využívat všech novinek PHP 7.4, jako jsou například typed properties, nic vám v tom nebrání. Stačí zavolat composer update :-)

Když už jsem zmínil typed properties, jejich podporu najdete i v nové verzi Php Generatoru:

$class = new Nette\PhpGenerator\ClassType('Demo');

$class->addProperty('items')
	->setType('array')
	->setNullable()
	->setInitialized();

echo $class;

Výsledek:

class Demo
{
	public ?array $items = null;
}

Nově také můžete anonymní funkce vypisovat ve zkrácené podobě tzv. arrow functions:

$closure = new Nette\PhpGenerator\Closure;
$closure->setBody('return $a + $b;');
$closure->addParameter('a');
$closure->addParameter('b');

echo (new Nette\PhpGenerator\Printer)->printArrowFunction($closure);

Výsledek:

fn ($a, $b) => $a + $b;

Nástroj pro validování uživatelských vstupů, Nette Schema, podporuje typed properties již od příchodu na scénu, což bylo společně s uvedením Nette 3 v dubnu 2019:

class Config
{
	public string $dsn;
	public ?string $user;
	public ?string $password;
	public bool $debugger = true;
}

$schema = Nette\Schema\Expect::from(new Config);

Jak se na novou verzi těšíte?