PHP 8.4 (Beta 3) maintenant disponible sur les serveurs de SiteGround
Table des matières
Nous sommes heureux d’annoncer que le PHP 8.4 (Beta 3) est maintenant disponible, les utilisateurs peuvent la tester sur tous les serveurs de SiteGround – bien avant sa date de sortie officielle prévue pour le 21 novembre 2024. Une fois de plus, nous sommes parmi les premières entreprises à offrir une période de test de la version PHP 8.4 (Beta 3) sur notre plateforme d’hébergement web. Grâce à notre configuration unique de serveur PHP, nous sommes en mesure d’offrir les dernières versions de PHP à nos clients pour qu’ils les testent en toute sécurité sur leurs sites web hébergés chez nous.
Découvrez les nouvelles fonctionnalités de la dernière version de PHP dans la section suivante.
Nouveautés de PHP 8.4 (Beta 3)
Cette dernière version introduit de nouvelles fonctionnalités très importantes qui amélioreront encore l’expérience de développement de PHP. Plongeons-nous dans les plus grands changements que la version PHP 8.4 (Beta 3) apporte :
Property hooks (Crochets de propriété)
L’une des nouvelles fonctionnalités de PHP 8.4 (Beta 3) inclut la possibilité de définir des crochets de propriété, ce qui éliminera la nécessité d’une grande quantité de code réutilisable (aussi appelé « boilerplate »). C’est l’un des plus grands changements dans l’histoire de PHP. Les crochets de propriété permettront d’éliminer de nombreux « getters » et « setters » en permettant à chaque propriété de définir ses propres crochets de get et set. De plus, en PHP 8.4 (Beta 3), les crochets de propriété peuvent être définis dans les interfaces.
Prenons l’exemple de cette classe assez standard :
<?php
declare(strict_types=1);
class Website
{
private $domain;
public function __construct(string $domain) {
$this->domain = $domain;
}
public function getDomain(): string {
return $this->domain;
}
public function setDomain(string $domain): void {
if (strlen($domain) === 0) {
throw new ValueError(“Domain must be non-empty”);
}
$this->domain = $domain;
}
}
Avec le PHP 8.4 (Beta 3), nous pouvons utiliser les crochets de propriété pour obtenir le même résultat avec la syntaxe suivante :
<?php
declare(strict_types=1);
class Website
{
public string $domain {
set {
if (strlen($value) === 0) {
throw new ValueError(“Domain must be non-empty”);
}
$this->domain = $value;
}
get => $this->domain;
}
public function __construct(string $domain) {
$this->domain = $domain;
}
}
new sans parenthèses supplémentaires
Une autre nouvelle fonctionnalité qui permettra d’économiser beaucoup de code réutilisable (aussi appelé « boilerplate ») est que vous n’avez plus besoin d’entourer les objets nouvellement créés de parenthèses afin de pouvoir enchaîner des méthodes sur ces objets.
De plus, cela ne fonctionne pas seulement pour les méthodes – vous pouvez également enchaîner des propriétés, des méthodes statiques, des constantes – en fait, tout ce que vous voulez. En définitive, cette nouvelle fonctionnalité simplifiera la syntaxe et rendra le code plus concis et plus lisible.
Exemple:
La fonctionnalité « class member access on instantiation » a été introduite dans le PHP 5.4.0. Depuis lors, les constantes, les propriétés et les méthodes peuvent être accédées sur une instance nouvellement créée sans variable intermédiaire, mais seulement si la nouvelle expression est entourée de parenthèses :
class Website
{
…
public function getDomain(): string {
return $this->domain;
}
}
// Valid syntax
$myDomain = (new Website(‘siteground.com’))->getDomain();
// Invalid syntax until PHP8.4
$myDomain = new Website(‘siteground.com’)->getDomain();
Nouvelles fonctions de tableau ou « array functions »
Un autre changement significatif en PHP est l’ajout de nombreuses nouvelles fonctions de tableau. PHP 8.4 a intégré plusieurs nouvelles fonctions de tableau ayant la fonctionnalité de rappel (aussi appelé, callback):
array_find()
Une fonction qui renvoie la valeur du premier élément du tableau qui correspond à la condition. Si aucun des éléments ne correspond à la condition, la fonction renvoie `null`.
array_find_key()
Renvoie la clé du premier élément pour lequel le rappel était true. Si aucun des éléments ne correspond à la condition, la fonction renvoie `null`.
array_all()
Vérifie si le callback renvoie true pour tous les éléments du tableau.
array_any()
Vérifie que le callback renvoie true pour n’importe quel élément d’un tableau.
Ces nouvelles fonctions simplifient la recherche et la manipulation des tableaux sur la base de conditions spécifiques, ce qui permet d’obtenir un code plus clair et plus lisible.
Comment tester PHP 8.4 sur les serveurs de SiteGround
En tant que client de SiteGround, vous pouvez facilement tester PHP 8.4 (Beta 3) sur votre site web. Connectez-vous simplement à la section Site Tools > Devs > PHP Manager et vous pourrez remplacer la version PHP actuelle utilisée par votre site web par PHP 8.4 (Beta 3) en un seul clic.
Veuillez garder à l’esprit que PHP 8.4 (Beta 3) est principalement disponible à des fins de test et, comme d’habitude, nous vous conseillons vivement de ne pas l’utiliser sur votre site web actuel avant sa date de sortie officielle prévue (21 novembre 2024).
Si vous avez besoin de tester PHP 8.4 (Beta 3) avec votre site web actuel, nous vous recommandons de créer un nouveau site de test et d’y cloner votre site actuel pour tester différentes choses. Pour ce faire, vous pouvez utiliser notre outil de staging WordPress. Pendant les tests, assurez-vous que rien n’échoue et vérifiez vos fichiers journaux pour voir si des avertissements ou des erreurs apparaissent. Une fois les tests terminés, vous pouvez simplement supprimer ce site.
En bref
Chez SiteGround, nous travaillons constamment pour introduire la technologie PHP la plus récente avant les autres. C’est pourquoi nous sommes ravis de fournir à nos clients la dernière version de PHP qui apporte de grandes améliorations et qui pourraient considérablement améliorer l’expérience de développement PHP. Prenez le temps de tester la nouvelle version avant la date de sortie officielle et restez à l’écoute pour d’autres mises à jour de la communauté PHP.
Les commentaires pour cet article sont maintenant fermés.