W świecie technologii, gdzie zmiany są jedyną stałą, PHP kontynuuje swoją ewolucję, prezentując najnowszą wersję – PHP 8.3. Ta wersja, będąca kolejnym krokiem w rozwoju jednego z najpopularniejszych języków skryptowych, umożliwia tworzenie popularnych aplikacji webowych. W tym wpisie zaprezentujemy szczegóły wdrożenia nowej wersji PHP w dhosting.pl jak i nowości w niej zawarte.
PHP 8.3 dostępny na serwerze WWW, z poziomu konsoli SSH oraz w zadaniach CRON.
Najnowsza wersja PHP 8.3, jest już dostępna u nas na serwerach WWW zaczynających się od web02 i web03. Jeżeli po zalogowaniu do dPanelu przy pozycji EWH WWW widzisz oznaczenie serwera zaczynające się od web01 (jak na poniższym screenshocie), zgłoś chęć migracji na nowszą platformę z poziomu dPanelu lub poprzez moduł Helpdesk 24h kontaktując się z Biurem Obsługi Klienta. Migracja na nowszą platformę jest bezpłatna.
Ponadto jeżeli Twoje strony są już ulokowane na nowej platformie, wersję PHP 8.3 możesz wybrać także w zadaniach CRON oraz z poziomu konsoli SSH – więcej informacji znajdziesz w artykule
https://dhosting.pl/pomoc/baza-wiedzy/jakie-wersje-php-sa-dostepne-na-poziomie-konsoli-ssh/.
Obecnie w wersji PHP 8.3 nie wszystkie moduły (np. IonCube) są dostępne. Z pełnym phpinfo(), wraz z dostępnymi modułami możecie zapoznać się pod linkiem http://phpinfo83.dhosting.pl. Nowe moduły będą wprowadzane wraz z udostępnianiem ich przez developerów PHP i wydawców systemów operacyjnych.
UWAGA! PHP 8.3 jest wersją rozwojową i zalecamy ostrożność w trakcie jej przełączania. Po ustawieniu nowej wersji PHP, warto upewnić się, czy strona działa poprawnie. W razie problemów z przełączeniem wersji PHP w dPanelu zachęcamy do zapoznania się z artykułem na naszej pomocy https://dhosting.pl/pomoc/baza-wiedzy/zmiana-wersji-php/ lub do kontaktu z Biurem Obsługi Klienta.
PHP 8.3 – przegląd nowości
W PHP 8.3, twórcy skupili się na wprowadzeniu nowych funkcjonalności, ulepszeniach dotyczących wydajności oraz bezpieczeństwa, co czyni ten język jeszcze bardziej elastycznym i przyjaznym dla programistów. W tej wersji znajdziemy takie nowości jak:
- Dynamiczny dostęp do stałych klas – pozwala na odwoływanie się do stałych klas za pomocą zmiennych, co jest szczególnie przydatne w sytuacjach, gdy nazwa stałej nie jest znana na etapie pisania kodu, lecz jest określana w trakcie wykonywania programu.
class FruitPrices {
const APPLE = 3.5;
const BANANA = 2.0;
const ORANGE = 4.0;
}
$fruit = 'BANANA';
// W PHP 8.3, możemy dynamicznie uzyskać dostęp do stałej klasy:
$price = FruitPrices::{$fruit};
echo "Cena banana: $price"; // Wyświetli "Cena banana: 2.0"
- właściwość readonly – wprowadzono zmianę pozwalającą na nadpisanie wartości w metodzie __clone().
- Atrybut #[Override] – nowy atrybut, który wskazuje, że dana metoda nadpisuje metodę klasy bazowej. Plusem atrybutu jest to, że w przypadku, kiedy metoda zmieni się w klasie bazowej bądź popełniony został błąd w nazwie metody (literówka) php w takim wypadku zwróci nam błąd.
class BaseClass {
public function showMessage() {
echo "Wiadomość z klasy bazowej";
}
}
class DerivedClass extends BaseClass {
#[Override]
public function showMessage() {
echo "Wiadomość z klasy pochodnej";
}
}
- funkcja json_validate() – funkcja przeznaczona do walidacji ciągów znaków w formacie JSON.
$jsonString = '{"name": "Jan", "age": 30}';
if (json_validate($jsonString)) {
echo "Poprawny format JSON";
} else {
echo "Niepoprawny format JSON";
}
- Randomizer – rozszerzono klasę o nowe metody getBytesFromString(), która zwraca losowe bajty w postaci ciągu znaków, getFloat() – które zwracają losowe liczby zmiennoprzecinkowe z podanego zakresu.
// Stary sposób generowania liczby losowej
$oldRandom = mt_rand(1, 100);
// Nowy sposób w PHP 8.3
$newRandom = random_int(1, 100);
- oraz kilka innych, nowych elementów, których szczegóły znajdziecie pod adresem https://www.php.net/releases/8.3/en.php