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;
    }
}

Zamów praktyczny kurs PHP już teraz!

Dowiedz się jak działają współczesne frameworki PHP

cover

Kup teraz 149 zł

Nasz kurs PHP w praktyce to inwestycja w Twoją karierę. Po zakupie zyskasz:

checkmark Pełny dostęp do materiałów kursu

checkmark Możliwość czytania e-booka online

checkmark Przeglądarkę kodu źródłowego z praktycznymi przykładami

checkmark Możliwość pobrania w formatach PDF/EPUB/Markdown