Kurs PHP 8.4 w praktyce – Jakie nowości wprowadza PHP8.4?
PHP 8.4, wydany 21 listopada 2024 roku, przynosi szereg nowości, które znacząco wpływają na rozwój aplikacji webowych. Wśród nich znajdują się Property Hooks, Asymetryczna Widoczność, nowe funkcje tablicowe oraz wsparcie dla HTML5. Te zmiany nie tylko ułatwiają codzienną pracę programistów, ale także stanowią solidny fundament dla tworzenia własnych frameworków PHP.
Property Hooks – nowy wymiar kontroli nad właściwościami
Dzięki Property Hooks możemy definiować zachowanie getterów i setterów bez potrzeby pisania dodatkowych metod. To rozwiązanie pozwala na bardziej przejrzysty i zwięzły kod.
PHP 8.4
<?php
class Locale
{
public string $locale
{
get => $this->first . '_' . $this->second;
set (string $value) {
[$this->first, $this->second] = explode('_', $value);
}
}
public function __construct(
private string $first,
private string $second
){}
}
PHP 8.3
<?php
class Locale
{
public function __construct(
private string $first,
private string $second
) {}
public function getLocale(): string
{
return $this->first . '_' . $this->second;
}
public function setLocale(string $value)
{
[$this->first, $this->second] = explode('_', $value);
}
}
Asymetryczna Widoczność (Asymetric Visiblity) – precyzyjna kontrola dostępu
Nowa funkcjonalność pozwala na różnicowanie poziomu dostępu do właściwości – na przykład publiczny odczyt i prywatny zapis. To idealne rozwiązanie dla twórców frameworków, którzy chcą zapewnić bezpieczeństwo i elastyczność.
PHP 8.4
<?php
class Car
{
public function __construct(
public private(set) string $color,
) { }
public function paint(string $color)
{
$this->color = $color
}
}
$car = new Car('red');
$car->paint('blue');
echo $car->color; //red
PHP 8.3
<?php
class Car
{
public function __construct(
public string $color,
) { }
public function paint(string $color): void
{
$this->color = $color;
}
public function getColor(): string
{
return $this->color;
}
}
$car = new Car('red');
$car->paint('blue');
echo $car->getColor(); //allowed, red
Chcesz zobaczyć więcej praktycznych przykładów? Pobierz darmowy fragment ebooka 📥 lub Kup kurs php 🎓
Nowe funkcje tablicowe – prostsza praca z danymi
Funkcje takie jak array_find
, array_find_key
, array_any
i array_all
ułatwiają manipulację tablicami, co jest nieocenione przy tworzeniu dynamicznych komponentów frameworka.
PHP 8.4
<?php
$data = [1,2,3,5,7,9];
$x = array_find($data, fn(int $val) => $val > 5);//7
$any = array_any($data, fn(int $val) => $val >=9 );//true
PHP 8.3
<?php
$data = [1,2,3,5,7,9];
$x = null;
foreach ($data as $val)
{
if($val > 5) {
$x = $val;
break;
}
}
$any = false;
foreach ($data as $val)
{
if($val >=9) {
$any = true;
break;
}
}