{"id":1047,"date":"2025-01-30T14:19:00","date_gmt":"2025-01-30T14:19:00","guid":{"rendered":"https:\/\/newblog.siteground.com\/fr\/?p=1047"},"modified":"2025-02-07T10:08:48","modified_gmt":"2025-02-07T10:08:48","slug":"php-8-4","status":"publish","type":"post","link":"https:\/\/fr.siteground.com\/blog\/php-8-4\/","title":{"rendered":"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es"},"content":{"rendered":"\n<p>Dot\u00e9e de fonctionnalit\u00e9s et d&#8217;am\u00e9liorations puissantes, la derni\u00e8re version de PHP 8.4 promet de rendre le codage plus efficace et plus flexible.<\/p>\n\n\n\n<p>Sorti officiellement fin novembre 2024, chez SiteGround, PHP 8.4 existe en version b\u00eata depuis ao\u00fbt 2024, lorsque nous avons \u00e9t\u00e9 parmi les premi\u00e8res entreprises \u00e0 le rendre disponible pour des tests sur tous nos serveurs.<\/p>\n\n\n\n<p>Sorti officiellement fin novembre 2024, chez SiteGround, PHP 8.4 existe en version b\u00eata depuis ao\u00fbt 2024. <a href=\"https:\/\/newblog.siteground.com\/fr\/php-8-4-beta-3-maintenant-disponible-sur-les-serveurs-de-siteground\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nous \u00e9tions parmi les premi\u00e8res entreprises \u00e0 la rendre disponible pour des tests sur tous nos serveurs<\/a>.<\/p>\n\n\n\n<p>Depuis lors, nous avons constat\u00e9 qu&#8217;il devient de plus en plus populaire. Plus de 6000 propri\u00e9taires de sites web h\u00e9berg\u00e9s par SiteGround l&#8217;ont d\u00e9j\u00e0 test\u00e9 sur leur site web.<\/p>\n\n\n\n<p>Si vous vous demandez si vous devez passer \u00e0 PHP 8.4 et si vous vous interrogez sur les raisons de ce changement, lisez ce qui suit et d\u00e9couvrez tout ce que vous devez savoir sur PHP 8.4, de ses fonctionnalit\u00e9s les plus remarquables \u00e0 des conseils pratiques sur les personnes qui en b\u00e9n\u00e9ficieront le plus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-points-cles-a-retenir-a-l-egard-de-php-8-4\"><span class=\"ez-toc-section\" id=\"Points_cles_a_retenir_a_legard_de_PHP_84\"><\/span><strong>Points cl\u00e9s \u00e0 retenir \u00e0 l&#8217;\u00e9gard de PHP 8.4<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>PHP 8.4 marque une mise \u00e0 jour significative dans le cycle de vie de PHP, en introduisant des corrections de bogues, des fonctionnalit\u00e9s et des am\u00e9liorations qui optimisent les performances et le d\u00e9veloppement.<\/p>\n\n\n\n<p>Des fonctionnalit\u00e9s telles que la gestion am\u00e9lior\u00e9e des propri\u00e9t\u00e9s, de nouvelles fonctions auxiliaires et des outils de base de donn\u00e9es avanc\u00e9s simplifient le codage et am\u00e9liorent l&#8217;efficacit\u00e9.<\/p>\n\n\n\n<p>L&#8217;utilisation des derni\u00e8res versions permet \u00e9galement de se prot\u00e9ger contre les vuln\u00e9rabilit\u00e9s \u00e0 long terme.<\/p>\n\n\n\n<p><strong>Toutefois, en tant que propri\u00e9taire de site web, vous devez \u00eatre prudent : les derni\u00e8res versions peuvent ne pas \u00eatre compatibles avec votre site web. <\/strong>Nous vous recommandons de les tester d&#8217;abord sur une copie de test du site web.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-chronologie-des-versions-et-siteground\"><strong>Chronologie des versions et SiteGround<\/strong><\/h3>\n\n\n\n<p>PHP 8.4 (Beta 3) a \u00e9t\u00e9 publi\u00e9 le <strong>15 ao\u00fbt 2024<\/strong>. SiteGround a introduit l&#8217;acc\u00e8s anticip\u00e9 le <strong>20 ao\u00fbt 2024<\/strong>, afin que nos clients puissent l&#8217;utiliser pour des tests d\u00e8s que possible.<\/p>\n\n\n\n<p>La <strong>version de disponibilit\u00e9 g\u00e9n\u00e9rale (GA)<\/strong> de PHP 8.4 a \u00e9t\u00e9 publi\u00e9e le <strong>21 novembre 2024<\/strong>. SiteGround a ajout\u00e9 la version officielle \u00e0 ses serveurs le <strong>26 novembre 2024<\/strong>, seulement cinq jours apr\u00e8s son annonce.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-quoi-de-neuf-dans-php-8-4\"><span class=\"ez-toc-section\" id=\"Quoi_de_neuf_dans_PHP_84\"><\/span><strong>Quoi de neuf dans PHP 8.4 ?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>PHP 8.4 introduit de nombreuses nouvelles fonctionnalit\u00e9s qui peuvent \u00eatre class\u00e9es en am\u00e9liorations syntaxiques, am\u00e9liorations de la biblioth\u00e8que et de l&#8217;API, et am\u00e9lioration de la gestion des arrays.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-ameliorations-de-la-syntaxe-et-du-langage\"><strong>1. Am\u00e9liorations de la syntaxe et du langage<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-1-hooks-de-propriete\"><strong>1.1. Hooks de propri\u00e9t\u00e9<\/strong><\/h4>\n\n\n\n<p>Dans les versions de PHP ant\u00e9rieures \u00e0 la 8.4, la gestion de l&#8217;acc\u00e8s et de la modification des propri\u00e9t\u00e9s impliquait g\u00e9n\u00e9ralement de d\u00e9finir des m\u00e9thodes explicites getter\/setter au sein d&#8217;une classe.<\/p>\n\n\n\n<p>Cette approche, bien que fonctionnelle, conduit souvent \u00e0 un code plus verbeux et s\u00e9pare le comportement de la propri\u00e9t\u00e9 de sa d\u00e9claration.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class User {\n    private string $firstName;\n    private string $lastName;\n\n    public function __construct(string $firstName, string $lastName) {\n        $this->firstName = $firstName;\n        $this->lastName = $lastName;\n    }\n\n    public function getFullName(): string {\n        return $this->firstName . ' ' . $this->lastName;\n    }\n\n    public function setFullName(string $fullName): void {\n        &#91;$this->firstName, $this->lastName] = explode(' ', $fullName, 2);\n    }\n}\n\n$user = new User('John', 'Doe');\necho $user->getFullName(); \/\/ Outputs: John Doe\n$user->setFullName('Jane Smith');\necho $user->getFullName(); \/\/ Outputs: Jane Smith<\/code><\/pre>\n\n\n\n<p>Dans cet exemple, les m\u00e9thodes <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">getFullName<\/mark> et <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">setFullName<\/mark> sont utilis\u00e9es pour acc\u00e9der et modifier le nom complet de l&#8217;utilisateur.<\/p>\n\n\n\n<p>Avec l&#8217;introduction des hooks de propri\u00e9t\u00e9 dans PHP 8.4, les d\u00e9veloppeurs peuvent d\u00e9sormais d\u00e9finir un comportement personnalis\u00e9 pour l&#8217;acc\u00e8s (<mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">get<\/mark>) et la modification (<mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">set<\/mark>) des propri\u00e9t\u00e9s directement dans la d\u00e9claration de la propri\u00e9t\u00e9.<\/p>\n\n\n\n<p>Cette fonctionnalit\u00e9 simplifie le code en int\u00e9grant la logique directement dans la propri\u00e9t\u00e9 elle-m\u00eame.<\/p>\n\n\n\n<p><strong>Utilisation des hooks de propri\u00e9t\u00e9 dans PHP 8.4 :<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class User {\n    private string $firstName;\n    private string $lastName;\n\n    public function __construct(string $firstName, string $lastName) {\n        $this->firstName = $firstName;\n        $this->lastName = $lastName;\n    }\n\n    public string $fullName {\n        get => $this->firstName . ' ' . $this->lastName;\n        set {&#91;$this->firstName, $this->lastName] = explode(' ', $value, 2);}\n    }\n}\n\n$user = new User('John', 'Doe');\necho $user->fullName; \/\/ Outputs: John Doe\n$user->fullName = 'Jane Smith';\necho $user->fullName; \/\/ Outputs: Jane Smith<\/code><\/pre>\n\n\n\n<p>Dans cet exemple actualis\u00e9, la propri\u00e9t\u00e9 <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">fullName<\/mark> utilise les hooks de propri\u00e9t\u00e9 pour d\u00e9finir les comportements <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">get<\/mark> et <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">set<\/mark> directement dans sa d\u00e9claration.<\/p>\n\n\n\n<p>Cette approche r\u00e9duit le besoin de m\u00e9thodes s\u00e9par\u00e9es et garde la logique de la propri\u00e9t\u00e9 encapsul\u00e9e dans sa d\u00e9finition.<\/p>\n\n\n\n<p>Pour une compr\u00e9hension compl\u00e8te et des exemples suppl\u00e9mentaires, consultez le manuel officiel de PHP sur les <a href=\"https:\/\/www.php.net\/manual\/en\/language.oop5.property-hooks.php\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">hooks de propri\u00e9t\u00e9<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-2-visibilite-asymetrique\"><strong>1.2. Visibilit\u00e9 asym\u00e9trique<\/strong><\/h4>\n\n\n\n<p>Dans PHP 8.4, la <strong>visibilit\u00e9 asym\u00e9trique<\/strong> permet aux d\u00e9veloppeurs de d\u00e9finir des niveaux d&#8217;acc\u00e8s distincts pour la lecture et l&#8217;\u00e9criture des propri\u00e9t\u00e9s de classe.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/php-visibilite-asymetrique-1024x521.jpeg\" alt=\"Une capture d'\u00e9cran d'un extrait de code de la documentation officielle de PHP.net, mettant en \u00e9vidence la fa\u00e7on dont les nouvelles am\u00e9liorations de la visibilit\u00e9 asym\u00e9trique modifient les pratiques de codage.\" class=\"wp-image-1054\"\/><\/figure>\n\n\n\n<p>La d\u00e9claration de visibilit\u00e9 public private(set) est utilis\u00e9e pour autoriser l&#8217;acc\u00e8s public en lecture mais restreindre l&#8217;acc\u00e8s priv\u00e9 pour la d\u00e9finition de la valeur. Cela permet \u00e0 la propri\u00e9t\u00e9 d&#8217;\u00eatre lisible de l&#8217;ext\u00e9rieur de la classe, mais modifiable uniquement \u00e0 l&#8217;int\u00e9rieur de la classe.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-3-attribut-deprecated\"><strong>1.3. Attribut <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">#[\\Deprecated]<\/mark><\/strong><\/h4>\n\n\n\n<p>Dans PHP 8.4, l&#8217;attribut <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">#[\\Deprecated<\/mark>] a \u00e9t\u00e9 introduit pour marquer les classes, m\u00e9thodes, fonctions ou propri\u00e9t\u00e9s comme obsol\u00e8tes.<\/p>\n\n\n\n<p><strong>Cela sert d&#8217;indication formelle que l&#8217;\u00e9l\u00e9ment marqu\u00e9 est d\u00e9conseill\u00e9 \u00e0 l&#8217;utilisation et pourrait \u00eatre supprim\u00e9 dans les futures versions.<\/strong><\/p>\n\n\n\n<p>L&#8217;utilisation de cet attribut am\u00e9liore la clart\u00e9 du code et aide les d\u00e9veloppeurs \u00e0 identifier et \u00e0 se d\u00e9tourner des fonctionnalit\u00e9s obsol\u00e8tes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-1-4-new-myclass-method-sans-parentheses\"><strong>1.4. <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">New MyClass()->method()<\/mark> sans Parenth\u00e8ses<\/strong><\/h4>\n\n\n\n<p>Dans PHP 8.4, la syntaxe pour invoquer une m\u00e9thode directement apr\u00e8s la cr\u00e9ation d&#8217;une nouvelle instance d&#8217;une classe a \u00e9t\u00e9 am\u00e9lior\u00e9e. Auparavant, vous deviez instancier une classe puis appeler une m\u00e9thode sur cette instance en deux \u00e9tapes distinctes :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$instance = new MyClass();\n\n$instance->method();<\/code><\/pre>\n\n\n\n<p>Avec PHP 8.4, vous pouvez d\u00e9sormais encha\u00eener l&#8217;appel de m\u00e9thode directement \u00e0 l&#8217;instanciation, \u00e9liminant ainsi le besoin de parenth\u00e8ses :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>new MyClass->method();<\/code><\/pre>\n\n\n\n<p>Cette syntaxe simplifi\u00e9e am\u00e9liore la lisibilit\u00e9 du code et r\u00e9duit la verbosit\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-ameliorations-des-bibliotheques-et-api\"><strong>2. Am\u00e9liorations des Biblioth\u00e8ques et API<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-2-1-api-objet-pour-bcmath\"><strong>2.1. API Objet pour BCMath<\/strong><\/h4>\n\n\n\n<p>Dans PHP 8.4, l&#8217;extension BCMath introduit la classe <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">BcMath\\Number<\/mark>, offrant une approche orient\u00e9e objet pour l&#8217;arithm\u00e9tique \u00e0 pr\u00e9cision arbitraire.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"329\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/objet-API-BCMath-1024x329.jpeg\" alt=\"Une capture d'\u00e9cran d'un extrait de code de la documentation officielle de PHP.net, montrant comment impl\u00e9menter une approche orient\u00e9e objet pour l'arithm\u00e9tique de pr\u00e9cision arbitraire en utilisant la nouvelle classe BcMath\\Number.\" class=\"wp-image-1049\"\/><\/figure>\n\n\n\n<p>Cette am\u00e9lioration permet un code plus intuitif et lisible lors de l&#8217;ex\u00e9cution de calculs d\u00e9cimaux.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-2-2-nouvelles-fonctionnalites-de-ext-dom-avec-un-support-html5-ameliore\"><strong>2.2. Nouvelles fonctionnalit\u00e9s de <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">ext-dom<\/mark> avec un support HTML5 am\u00e9lior\u00e9<\/strong><\/h4>\n\n\n\n<p>L&#8217;extension <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">ext-dom<\/mark> a \u00e9t\u00e9 am\u00e9lior\u00e9e pour fournir un support robuste et conforme aux normes pour l&#8217;analyse et la manipulation des documents HTML5.<\/p>\n\n\n\n<p>Cette am\u00e9lioration r\u00e9sout des probl\u00e8mes de longue date et introduit de nouvelles fonctionnalit\u00e9s qui facilitent le travail avec le contenu HTML5.<\/p>\n\n\n\n<p><strong>Am\u00e9liorations cl\u00e9s :<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Introduction de la classe <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">Dom\\HTMLDocument<\/mark> :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Une nouvelle classe, <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">Dom\\HTMLDocument<\/mark>, a \u00e9t\u00e9 ajout\u00e9e \u00e0 l&#8217;espace de noms <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">Dom<\/mark>. Cette classe offre une interface moderne et orient\u00e9e objet pour la gestion des documents HTML5, assurant une meilleure int\u00e9gration et convivialit\u00e9.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Am\u00e9lioration de l&#8217;analyse et de la s\u00e9rialisation :<\/strong>\n<ul class=\"wp-block-list\">\n<li>La nouvelle API fournit une analyse et une s\u00e9rialisation pr\u00e9cises des documents HTML5, r\u00e9solvant les probl\u00e8mes de conformit\u00e9 ant\u00e9rieurs. Cela garantit que le contenu HTML5 est trait\u00e9 correctement, facilitant une manipulation plus fiable des documents.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Fonctionnalit\u00e9 am\u00e9lior\u00e9e :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Plusieurs nouvelles fonctions ont \u00e9t\u00e9 introduites pour simplifier les t\u00e2ches courantes, telles que l&#8217;interrogation d&#8217;\u00e9l\u00e9ments \u00e0 l&#8217;aide de s\u00e9lecteurs CSS et la navigation dans le DOM. Ces ajouts facilitent le travail avec les documents HTML5.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-2-3-sous-classes-specifiques-aux-pilotes-pdo\"><strong>2.3. Sous-classes sp\u00e9cifiques aux pilotes PDO<\/strong><\/h4>\n\n\n\n<p>Dans PHP 8.4, l&#8217;introduction de <strong>sous-classes sp\u00e9cifiques aux pilotes PDO<\/strong> am\u00e9liore la flexibilit\u00e9 et la fonctionnalit\u00e9 de l&#8217;extension PDO (PHP Data Objects). Cette am\u00e9lioration permet aux d\u00e9veloppeurs d&#8217;acc\u00e9der \u00e0 des fonctionnalit\u00e9s de base de donn\u00e9es telles que les analyseurs SQL sp\u00e9cifiques aux pilotes, qui \u00e9taient auparavant inaccessibles via la classe g\u00e9n\u00e9rique <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">PDO<\/mark>.<\/p>\n\n\n\n<p><strong>Caract\u00e9ristiques cl\u00e9s :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acc\u00e8s aux m\u00e9thodes sp\u00e9cifiques aux pilotes :<\/strong> Chaque pilote PDO a d\u00e9sormais sa propre sous-classe, permettant l&#8217;acc\u00e8s \u00e0 des m\u00e9thodes uniques \u00e0 ce syst\u00e8me de base de donn\u00e9es. Par exemple, la sous-classe <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">Pdo\\Sqlite<\/mark> fournit des m\u00e9thodes comme <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">createFunction()<\/mark>, qui sont sp\u00e9cifiques \u00e0 SQLite.<\/li>\n\n\n\n<li><strong>Am\u00e9lioration de la clart\u00e9 du code :<\/strong> En utilisant ces sous-classes, le code devient plus lisible et maintenable, car les fonctionnalit\u00e9s sp\u00e9cifiques \u00e0 la base de donn\u00e9es sont encapsul\u00e9es dans leurs classes respectives.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Utilisation de PDO::connect() pour instancier la sous-classe sp\u00e9cifique au pilote\n\n$pdo = PDO::connect('sqlite:\/path\/to\/database.db');\n\n\/\/ Utilisation de la m\u00e9thode sp\u00e9cifique au pilote\n\n$pdo->createFunction('my_function', function($value) {\n\nreturn strtoupper($value);\n\n});<\/code><\/pre>\n\n\n\n<p>Dans cet exemple, <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">PDO::connect()<\/mark> renvoie une instance de <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">Pdo\\Sqlite<\/mark>, permettant l&#8217;acc\u00e8s \u00e0 des m\u00e9thodes sp\u00e9cifiques \u00e0 SQLite comme <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">createFunction()<\/mark>.<\/p>\n\n\n\n<p><strong>Compatibilit\u00e9 ascendante :<\/strong><\/p>\n\n\n\n<p>Cette am\u00e9lioration maintient la compatibilit\u00e9 ascendante. Le code existant utilisant la classe PDO g\u00e9n\u00e9rique continue de fonctionner comme auparavant. Les d\u00e9veloppeurs peuvent choisir d&#8217;utiliser les sous-classes sp\u00e9cifiques au pilote lorsqu&#8217;ils ont besoin d&#8217;acc\u00e9der \u00e0 des fonctionnalit\u00e9s sp\u00e9cifiques \u00e0 la base de donn\u00e9es.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-2-4-mises-a-jour-de-la-bibliotheque-standard\"><strong>2.4. Mises \u00e0 jour de la biblioth\u00e8que standard<\/strong><\/h4>\n\n\n\n<p>Au-del\u00e0 des changements majeurs de la biblioth\u00e8que et de l&#8217;API, PHP 8.4 affine sa biblioth\u00e8que standard avec de nouvelles fonctions utiles et des am\u00e9liorations discr\u00e8tes.<\/p>\n\n\n\n<p>Par exemple, les d\u00e9veloppeurs ont d\u00e9sormais acc\u00e8s \u00e0 <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">fpow()<\/mark> pour l&#8217;exponentiation en virgule flottante, \u00e0 de nouveaux objets paresseux et \u00e0 de nouvelles m\u00e9thodes pour g\u00e9rer les en-t\u00eates de r\u00e9ponse HTTP.<\/p>\n\n\n\n<p>De plus, la biblioth\u00e8que DateTime re\u00e7oit des mises \u00e0 jour pr\u00e9cises, am\u00e9liorant la fa\u00e7on dont PHP g\u00e8re les t\u00e2ches li\u00e9es au temps. Ces mises \u00e0 jour, bien que mineures, contribuent \u00e0 une exp\u00e9rience de d\u00e9veloppement plus fluide et plus efficace.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-nouvelles-fonctions-de-support\"><strong>3. Nouvelles fonctions de support<\/strong><\/h3>\n\n\n\n<p>PHP 8.4 introduit de nouvelles fonctions d\u2019array, offrant des moyens plus polyvalents et efficaces de manipuler les arrays.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">array_find<\/mark> : <\/strong>Il recherche dans un array le premier \u00e9l\u00e9ment qui satisfait une condition donn\u00e9e.<\/li>\n\n\n\n<li><strong><mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">array_find_key<\/mark> : <\/strong>Il trouve la cl\u00e9 du premier \u00e9l\u00e9ment dans un array qui r\u00e9pond \u00e0 une condition sp\u00e9cifi\u00e9e.<\/li>\n\n\n\n<li><strong><mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">array_any<\/mark> : <\/strong>Il v\u00e9rifie si un \u00e9l\u00e9ment dans un array satisfait une condition donn\u00e9e.<\/li>\n\n\n\n<li><strong><mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">array_all<\/mark> :<\/strong> Il d\u00e9termine si tous les \u00e9l\u00e9ments d&#8217;un array r\u00e9pondent \u00e0 une condition sp\u00e9cifi\u00e9e.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>$numbers = &#91;1, 2, 3, 4, 5];\n\n\/\/ Trouver le premier nombre pair\n$firstEven = array_find($numbers, fn($n) => $n % 2 === 0);\necho $firstEven; \/\/ Affiche : 2\n\n\/\/ Trouver la cl\u00e9 du premier nombre sup\u00e9rieur \u00e0 3\n$key = array_find_key($numbers, fn($n) => $n > 3);\necho $key; \/\/ Affiche : 3\n\n\/\/ V\u00e9rifier si un nombre est sup\u00e9rieur \u00e0 4\n$anyGreaterThanFour = array_any($numbers, fn($n) => $n > 4);\nvar_dump($anyGreaterThanFour); \/\/ Affiche : bool(true)\n\n\/\/ V\u00e9rifier si tous les nombres sont positifs\n$allPositive = array_all($numbers, fn($n) => $n > 0);\nvar_dump($allPositive); \/\/ Affiche : bool(true)<\/code><\/pre>\n\n\n\n<p><strong>Ces ajouts simplifient les op\u00e9rations sur les arrays, am\u00e9liorent la clart\u00e9 du code et r\u00e9duisent la n\u00e9cessit\u00e9 de boucles verbeuses.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-php-8-4-depreciations\"><span class=\"ez-toc-section\" id=\"PHP_84_Depreciations\"><\/span><strong>PHP 8.4 D\u00e9pr\u00e9ciations<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Avec chaque nouvelle version de PHP, certaines fonctionnalit\u00e9s sont marqu\u00e9es comme d\u00e9pr\u00e9ci\u00e9es pour ouvrir la voie \u00e0 de meilleures alternatives. Les d\u00e9pr\u00e9ciations aident PHP \u00e0 \u00e9voluer tout en donnant aux d\u00e9veloppeurs le temps d&#8217;ajuster leur code<strong>.<\/strong><\/p>\n\n\n\n<p>Une d\u00e9pr\u00e9ciation notable dans PHP 8.4 est la suppression des propri\u00e9t\u00e9s dynamiques sur les objets standards, une fonctionnalit\u00e9 longtemps utilis\u00e9e pour l&#8217;assignation rapide et ad hoc de propri\u00e9t\u00e9s. Un autre exemple est la d\u00e9pr\u00e9ciation des types implicites nullables.<\/p>\n\n\n\n<p>Les d\u00e9veloppeurs sont d\u00e9sormais encourag\u00e9s \u00e0 utiliser des propri\u00e9t\u00e9s typ\u00e9es ou des m\u00e9thodes magiques comme <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">__get<\/mark> et <mark style=\"background-color: transparent; color: #1e7b19;\" class=\"has-inline-color\">__set<\/mark> pour de meilleures performances et clart\u00e9.<\/p>\n\n\n\n<p>Pour une liste compl\u00e8te des fonctionnalit\u00e9s d\u00e9pr\u00e9ci\u00e9es, vous pouvez consulter la <a href=\"https:\/\/www.php.net\/releases\/8.4\/en.php\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>documentation officielle<\/strong><\/a><strong> <\/strong>publi\u00e9e par l&#8217;\u00e9quipe de PHP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-changements-incompatibles-avec-les-versions-anterieures\"><strong>1. Changements incompatibles avec les versions ant\u00e9rieures<\/strong><\/h3>\n\n\n\n<p>Il y a une diff\u00e9rence entre les <strong>d\u00e9pr\u00e9ciations<\/strong> et les <strong>changements incompatibles avec les versions ant\u00e9rieures<\/strong>. \u00c0 chaque version, il y a aussi des changements qui <strong>cassent compl\u00e8tement le fonctionnement de certaines syntaxes et fonctions de code.<\/strong><\/p>\n\n\n\n<p>Pour une liste compl\u00e8te des mises \u00e0 jour incompatibles avec les versions ant\u00e9rieures, consultez la <a href=\"https:\/\/www.php.net\/manual\/en\/migration84.incompatible.php\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>documentation officielle de PHP<\/strong><\/a>.<\/p>\n\n\n\n<p><strong>Cela signifie que vous devez \u00eatre particuli\u00e8rement prudent lors du passage \u00e0 une version plus r\u00e9cente<\/strong>. Souvent, si vous utilisez un logiciel tiers, vous pouvez rencontrer des probl\u00e8mes car il faut du temps aux d\u00e9veloppeurs pour mettre \u00e0 jour leurs produits afin qu&#8217;ils soient compatibles avec la version PHP la plus r\u00e9cente.<\/p>\n\n\n\n<p>C&#8217;est pourquoi vous devriez utiliser un environnement de staging pour v\u00e9rifier si la nouvelle version ne perturbe pas certaines parties de votre site web. <strong>C&#8217;est particuli\u00e8rement important si vous utilisez actuellement une version ant\u00e9rieure \u00e0 8.0.<\/strong><\/p>\n\n\n\n<p>Nous vous montrerons comment vous pouvez le faire en toute s\u00e9curit\u00e9 en utilisant les outils de SiteGround plus tard dans l&#8217;article.<\/p>\n\n\n\n<style> .post-page__colored-blocks.post-page__colored-blocks--update p {\n    margin: 15px 0px;\n}\n<\/style>\n\n\n\n<div class=\"post-page__colored-blocks post-page__colored-blocks--update\"><h3 class=\"title title--regular title--size-medium title--weight-bold color-darkest\"><\/h3><p class=\"text text--size-medium color-darkest\">Si vous g\u00e9rez un site web, c&#8217;est le bon moment pour auditer votre code \u00e0 la recherche de fonctionnalit\u00e9s d\u00e9pr\u00e9ci\u00e9es. Traiter ces changements d\u00e8s maintenant peut vous \u00e9viter des soucis lorsque les futures versions de PHP les supprimeront compl\u00e8tement.<br><br><strong>Vous pouvez demander une v\u00e9rification de compatibilit\u00e9 PHP dans le cadre de nos<\/strong><a href=\"https:\/\/fr.siteground.com\/kb\/abonnement-expert-care\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong> services Expert Care<\/strong><\/a>, afin que la r\u00e9vision et la mise \u00e0 niveau soient prises en charge de mani\u00e8re professionnelle par nos techniciens.<\/p><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-support-de-la-version\"><strong>2. Support de la version<\/strong><\/h3>\n\n\n\n<p>PHP 8.4 profitera de support actif pendant deux ans, suivi de deux ans de mises \u00e0 jour de s\u00e9curit\u00e9 critiques. Vous pouvez consulter la <a href=\"https:\/\/www.php.net\/supported-versions.php\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"><strong>documentation officielle de PHP<\/strong><\/a> pour conna\u00eetre les dates exactes.<\/p>\n\n\n\n<p><strong>Si vous utilisez une version obsol\u00e8te de PHP, nous vous recommandons vivement d&#8217;effectuer une mise \u00e0 jour vers la version stable la plus r\u00e9cente afin d&#8217;am\u00e9liorer la s\u00e9curit\u00e9 et les performances.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-comment-passer-a-php-8-4\"><span class=\"ez-toc-section\" id=\"Comment_passer_a_PHP_84\"><\/span><strong>Comment passer \u00e0 PHP 8.4 ?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pour la plupart des utilisateurs, nous recommandons de rester sur<strong> PHP g\u00e9r\u00e9<\/strong> afin d&#8217;\u00e9viter toute complication et de ne pas casser votre site web de production. Si vous avez des connaissances techniques et que vous souhaitez tester le fonctionnement de votre site web avec la version 8.4, continuez \u00e0 lire afin d&#8217;apprendre comment le faire en toute s\u00e9curit\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-php-gere-de-siteground\"><strong>1. PHP g\u00e9r\u00e9 de SiteGround<\/strong><\/h3>\n\n\n\n<p>Par d\u00e9faut, tous les clients de SiteGround sont configur\u00e9s sur notre service <strong>PHP g\u00e9r\u00e9<\/strong>, ce qui signifie que nous mettrons automatiquement \u00e0 jour votre version de PHP d\u00e8s qu&#8217;une nouvelle version <strong>stable<\/strong> sera disponible.<\/p>\n\n\n\n<p>Ceci est recommand\u00e9 pour la plupart des utilisateurs qui ne sont pas experts en technologie, car les derni\u00e8res versions peuvent entra\u00eener un conflit dans votre application en raison d&#8217;une incompatibilit\u00e9 avec un plugin ou un th\u00e8me<\/p>\n\n\n\n<style> .post-page__colored-blocks.post-page__colored-blocks--update p {\n    margin: 15px 0px;\n}\n<\/style>\n\n\n\n<div class=\"post-page__colored-blocks post-page__colored-blocks--update\"><h3 class=\"title title--regular title--size-medium title--weight-bold color-darkest\"><\/h3><p class=\"text text--size-medium color-darkest\">Nous \u00e9valuons soigneusement chaque nouvelle version de PHP et effectuons des tests de compatibilit\u00e9 avec les applications les plus largement utilis\u00e9es sur notre plateforme. \u00c0 partir de f\u00e9vrier 2025, <a href=\"https:\/\/newblog.siteground.com\/fr\/php-8-2-version-php-par-defaut-siteground\/\" target=\"_blank\" rel=\"noreferrer noopener\">la version par d\u00e9faut de PHP g\u00e9r\u00e9<\/a> sur les serveurs de SiteGround est <strong>8.2.<br><br><\/strong>Nous recommandons cette version comme \u00e9tant la plus largement compatible avec la derni\u00e8re version. Avant de mettre \u00e0 jour notre version PHP par d\u00e9faut, nous nous assurons toujours d&#8217;avoir suffisamment de donn\u00e9es d&#8217;utilisation pour garantir la s\u00e9curit\u00e9, la stabilit\u00e9 et les performances de la majorit\u00e9 des sites web sur notre plateforme.<br><br>C&#8217;est pourquoi nous laissons un certain temps avant de passer notre version par d\u00e9faut \u00e0 chaque nouvelle version, m\u00eame si ces derni\u00e8res sont disponibles pour des tests sur nos serveurs presque imm\u00e9diatement apr\u00e8s leur sortie.<br><br><strong>Les utilisateurs avanc\u00e9s peuvent passer manuellement \u00e0 PHP 8.4 \u00e0 tout moment depuis Site Tools.<\/strong><\/p><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-compatibilite\"><strong>2. Compatibilit\u00e9<\/strong><\/h3>\n\n\n\n<p>Comme nous l&#8217;avons mentionn\u00e9, <strong>toutes les nouvelles versions de PHP peuvent provoquer des erreurs sur votre site web<\/strong>, <strong>il est donc toujours recommand\u00e9 de tester les versions les plus r\u00e9centes dans un environnement de staging d&#8217;abord.<\/strong><\/p>\n\n\n\n<p>Nous offrons un outil intuitif, disponible \u00e0 un clic, qui vous permet de <a href=\"https:\/\/fr.siteground.com\/tutorials\/wordpress\/comment-cloner-un-site-wordpress\/\" target=\"_blank\" rel=\"noreferrer noopener\">cr\u00e9er facilement un clone de votre site WordPress<\/a>, que vous pouvez utiliser pour v\u00e9rifier s&#8217;il y a des conflits de plugins ou de th\u00e8mes avant de mettre \u00e0 jour votre site principal.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"456\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/outil-de-staging-1024x456.jpg\" alt=\"Une capture d'\u00e9cran de la page du tableau de bord de Site Tools de SiteGround, o\u00f9 vous pouvez cr\u00e9er une copie en environnement de staging de votre site WordPress.\" class=\"wp-image-1051\"\/><\/figure>\n\n\n\n<p>Une fois que vous avez cr\u00e9\u00e9 une copie de staging, suivez les \u00e9tapes ci-dessous si vous souhaitez la passer \u00e0 PHP 8.4 et tester comment elle fonctionne sur votre site web.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-tester-php-8-4\"><strong>3. Tester PHP 8.4.<\/strong><\/h3>\n\n\n\n<p>La plupart des fournisseurs offrent un outil de gestion PHP pour passer d&#8217;une version \u00e0 l&#8217;autre pour votre site web. Pour passer \u00e0 <strong>8.4<\/strong> manuellement sur <strong>SiteGround<\/strong>, acc\u00e9dez \u00e0 votre <a href=\"https:\/\/tools.siteground.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>tableau de bord de Site Tools<\/strong><\/a><strong> <\/strong>><strong> Devs <\/strong>><strong> PHP manager<\/strong> :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"503\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/php-gestionnaire-1024x503.jpeg\" alt=\"Une capture d'\u00e9cran du gestionnaire PHP du tableau de bord de Site Tools de SiteGround, o\u00f9 vous pouvez modifier les param\u00e8tres PHP de vos sites web.\" class=\"wp-image-1053\"\/><\/figure>\n\n\n\n<p>Passez \u00e0 l&#8217;onglet <strong>Staging Sites <\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"382\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/staging-gestionnaire-php-1024x382.jpeg\" alt=\"Une capture d'\u00e9cran du gestionnaire PHP du tableau de bord de Site Tools de SiteGround, o\u00f9 vous pouvez modifier les param\u00e8tres PHP d'un site web en environnement de staging.\" class=\"wp-image-1055\"\/><\/figure>\n\n\n\n<p>Cliquez sur le bouton <strong>Modifier <\/strong>sous <strong>Actions, <\/strong>passez de <strong>PHP manag\u00e9 <\/strong>\u00e0 <strong>Changer la version de PHP manuellement, <\/strong>et s\u00e9lectionnez <strong>8.4.3.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/changer-version-php-1024x498.jpeg\" alt=\"Une capture d'\u00e9cran du menu du tableau de bord Site Tools de SiteGround, o\u00f9 vous changez la version PHP d'un site web, avec un menu d\u00e9roulant montrant les versions disponibles allant de 8.0 \u00e0 8.4.\" class=\"wp-image-1048\"\/><\/figure>\n\n\n\n<p>C&#8217;est aussi simple que cela ! L&#8217;\u00e9tape suivante consiste \u00e0 v\u00e9rifier si le site web fonctionne comme pr\u00e9vu. Si certaines fonctionnalit\u00e9s ne fonctionnent pas, vous devrez enqu\u00eater davantage.<\/p>\n\n\n\n<p>Il se peut qu&#8217;un plugin ou le th\u00e8me que vous utilisez ne soit pas encore totalement compatible avec la version la plus r\u00e9cente. Il se peut \u00e9galement que votre site contienne un code PHP personnalis\u00e9 qui doit \u00eatre modifi\u00e9.<\/p>\n\n\n\n<p>Dans de tels cas, il est pr\u00e9f\u00e9rable de rester sur notre version de <strong>PHP g\u00e9r\u00e9 <\/strong>et d&#8217;attendre que ces probl\u00e8mes soient r\u00e9solus avant de mettre \u00e0 niveau votre site web principal vers la derni\u00e8re version de PHP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-php-ultra-rapide\"><strong>4. PHP ultra-rapide<\/strong><\/h3>\n\n\n\n<p>SiteGround est reconnu pour son engagement envers l&#8217;optimisation des performances. C&#8217;est pourquoi notre \u00e9quipe a d\u00e9velopp\u00e9 une version personnalis\u00e9e de PHP qui <a href=\"https:\/\/newblog.siteground.com\/fr\/php-ultra-rapide-pour-des-sites-plus-web-rapides\/\" target=\"_blank\" rel=\"noreferrer noopener\">augmente les performances des sites web jusqu&#8217;\u00e0 30 %.<\/a><\/p>\n\n\n\n<p>Elle est exclusivement disponible pour nos utilisateurs sur les plans GrowBig (et sup\u00e9rieurs), et elle est enti\u00e8rement compatible avec PHP 8.4. Si vous souhaitez en profiter, consultez nos solutions d&#8217;h\u00e9bergement mutualis\u00e9 et inscrivez-vous d\u00e8s aujourd&#8217;hui pour acc\u00e9l\u00e9rer votre site web !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/fr.siteground.com\/hebergement-web\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/obtiens-vitesse-hebergement-banner-1024x512.jpg\" alt=\"Une banni\u00e8re publicitaire \u00e9num\u00e9rant les caract\u00e9ristiques uniques d'h\u00e9bergement rapide de SiteGround.\" class=\"wp-image-1050\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-php-8-4-recapitulatif-et-prochaines-etapes\"><span class=\"ez-toc-section\" id=\"PHP_84_Recapitulatif_et_prochaines_etapes\"><\/span><strong>PHP 8.4 : R\u00e9capitulatif et prochaines \u00e9tapes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>PHP 8.4 est une am\u00e9lioration utile pour les d\u00e9veloppeurs et les propri\u00e9taires de sites web. Avec sa syntaxe simplifi\u00e9e, ses API am\u00e9lior\u00e9es et ses nouvelles fonctionnalit\u00e9s, <strong>il simplifie le codage tout en am\u00e9liorant les performances et la fiabilit\u00e9 des sites web.<\/strong><\/p>\n\n\n\n<p>Rester \u00e0 jour avec les versions de PHP est essentiel pour maintenir une pr\u00e9sence en ligne rapide et fiable. Les mises \u00e0 niveau doivent \u00eatre effectu\u00e9es avec soin, pour assurer une transition en douceur et une exp\u00e9rience sans faille pour vos visiteurs.<\/p>\n\n\n\n<p>C&#8217;est pourquoi il est important d&#8217;utiliser un fournisseur d&#8217;h\u00e9bergement web qui est \u00e0 jour avec les derni\u00e8res technologies et offre les outils n\u00e9cessaires pour g\u00e9rer votre site web en toute s\u00e9curit\u00e9.<\/p>\n\n\n\n<p>Chez SiteGround, la mise \u00e0 niveau est un jeu d&#8217;enfant. Avec nos services <a href=\"https:\/\/fr.siteground.com\/kb\/quest-ce-que-le-service-php-manage-et-comment-lactiver\/\" target=\"_blank\" rel=\"noreferrer noopener\">PHP g\u00e9r\u00e9<\/a> et <strong>PHP ultra-rapide<\/strong>, vous pouvez profiter de performances optimales et de mises \u00e0 jour discr\u00e8tes.<\/p>\n\n\n\n<p>Pr\u00eat \u00e0 d\u00e9couvrir ce que PHP 8.4 a de mieux \u00e0 offrir ? Inscrivez-vous \u00e0 nos <strong>plans d&#8217;h\u00e9bergement mutualis\u00e9s <\/strong>aujourd&#8217;hui et pr\u00e9parez votre site web pour l&#8217;avenir !<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/fr.siteground.com\/hebergement-web\" target=\"_blank\" rel=\"noreferrer noopener\">COMMENCER<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"Dot\u00e9e de fonctionnalit\u00e9s et d'am\u00e9liorations puissantes, la derni\u00e8re version de PHP 8.4 promet de rendre le codage plus efficace et plus flexible. Sorti officiellement fin novembre 2024, chez SiteGround, PHP 8.4 existe en version b\u00eata depuis ao\u00fbt 2024, lorsque nous avons \u00e9t\u00e9 parmi les premi\u00e8res entreprises \u00e0 le rendre disponible pour des tests sur tous&hellip;","protected":false},"author":57,"featured_media":1052,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[12],"class_list":["post-1047","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mises-a-jour-des-services","tag-user-area-display"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.2 (Yoast SEO v24.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es - Blog SiteGround<\/title>\n<meta name=\"description\" content=\"PHP 8.4 am\u00e9liore les performances, ajoute des fonctions d\u2019array et de cha\u00eene, des constantes typ\u00e9es et des propri\u00e9t\u00e9s en lecture seule.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es\" \/>\n<meta property=\"og:description\" content=\"PHP 8.4 am\u00e9liore les performances, ajoute des fonctions d\u2019array et de cha\u00eene, des constantes typ\u00e9es et des propri\u00e9t\u00e9s en lecture seule.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\" \/>\n<meta property=\"og:site_name\" content=\"SiteGround\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-30T14:19:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-07T10:08:48+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Daniel Kanchev\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Kanchev\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\"},\"author\":{\"name\":\"Daniel Kanchev\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#\/schema\/person\/380162a677d6c37329e9a12baa334572\"},\"headline\":\"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es\",\"datePublished\":\"2025-01-30T14:19:00+00:00\",\"dateModified\":\"2025-02-07T10:08:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\"},\"wordCount\":2954,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg\",\"keywords\":[\"user-area-display\"],\"articleSection\":[\"Nouveaut\u00e9s produits\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\",\"url\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\",\"name\":\"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es - Blog SiteGround\",\"isPartOf\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg\",\"datePublished\":\"2025-01-30T14:19:00+00:00\",\"dateModified\":\"2025-02-07T10:08:48+00:00\",\"description\":\"PHP 8.4 am\u00e9liore les performances, ajoute des fonctions d\u2019array et de cha\u00eene, des constantes typ\u00e9es et des propri\u00e9t\u00e9s en lecture seule.\",\"breadcrumb\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage\",\"url\":\"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg\",\"contentUrl\":\"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg\",\"width\":1200,\"height\":600,\"caption\":\"Une image en vedette avec un ordinateur portable, affichant le logo officiel PHP.net de PHP 8.4, et l'ic\u00f4ne signature de l'\u00e9l\u00e9phant PHP.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/newblog.siteground.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#website\",\"url\":\"https:\/\/newblog.siteground.com\/fr\/\",\"name\":\"Blog SiteGround\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/newblog.siteground.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#organization\",\"name\":\"Blog SiteGround\",\"url\":\"https:\/\/newblog.siteground.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/01\/cropped-Siteground-Logo-on-white.jpg\",\"contentUrl\":\"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/01\/cropped-Siteground-Logo-on-white.jpg\",\"width\":173,\"height\":250,\"caption\":\"Blog SiteGround\"},\"image\":{\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#\/schema\/person\/380162a677d6c37329e9a12baa334572\",\"name\":\"Daniel Kanchev\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newblog.siteground.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f0baefb86ae4d35a2e71cb0966e1847f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f0baefb86ae4d35a2e71cb0966e1847f?s=96&d=mm&r=g\",\"caption\":\"Daniel Kanchev\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/daniel-kanchev-29716455\/\"],\"url\":\"https:\/\/newblog.siteground.com\/fr\/author\/daniel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es - Blog SiteGround","description":"PHP 8.4 am\u00e9liore les performances, ajoute des fonctions d\u2019array et de cha\u00eene, des constantes typ\u00e9es et des propri\u00e9t\u00e9s en lecture seule.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/","og_locale":"en_US","og_type":"article","og_title":"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es","og_description":"PHP 8.4 am\u00e9liore les performances, ajoute des fonctions d\u2019array et de cha\u00eene, des constantes typ\u00e9es et des propri\u00e9t\u00e9s en lecture seule.","og_url":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/","og_site_name":"SiteGround","article_published_time":"2025-01-30T14:19:00+00:00","article_modified_time":"2025-02-07T10:08:48+00:00","og_image":[{"width":1200,"height":600,"url":"http:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg","type":"image\/jpeg"}],"author":"Daniel Kanchev","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Daniel Kanchev","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#article","isPartOf":{"@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/"},"author":{"name":"Daniel Kanchev","@id":"https:\/\/newblog.siteground.com\/fr\/#\/schema\/person\/380162a677d6c37329e9a12baa334572"},"headline":"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es","datePublished":"2025-01-30T14:19:00+00:00","dateModified":"2025-02-07T10:08:48+00:00","mainEntityOfPage":{"@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/"},"wordCount":2954,"commentCount":0,"publisher":{"@id":"https:\/\/newblog.siteground.com\/fr\/#organization"},"image":{"@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage"},"thumbnailUrl":"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg","keywords":["user-area-display"],"articleSection":["Nouveaut\u00e9s produits"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/newblog.siteground.com\/fr\/php-8-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/","url":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/","name":"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es - Blog SiteGround","isPartOf":{"@id":"https:\/\/newblog.siteground.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage"},"image":{"@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage"},"thumbnailUrl":"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg","datePublished":"2025-01-30T14:19:00+00:00","dateModified":"2025-02-07T10:08:48+00:00","description":"PHP 8.4 am\u00e9liore les performances, ajoute des fonctions d\u2019array et de cha\u00eene, des constantes typ\u00e9es et des propri\u00e9t\u00e9s en lecture seule.","breadcrumb":{"@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/newblog.siteground.com\/fr\/php-8-4\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#primaryimage","url":"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg","contentUrl":"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/02\/PHP-8.4-nouveautes.jpg","width":1200,"height":600,"caption":"Une image en vedette avec un ordinateur portable, affichant le logo officiel PHP.net de PHP 8.4, et l'ic\u00f4ne signature de l'\u00e9l\u00e9phant PHP."},{"@type":"BreadcrumbList","@id":"https:\/\/newblog.siteground.com\/fr\/php-8-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/newblog.siteground.com\/fr\/"},{"@type":"ListItem","position":2,"name":"PHP 8.4 : Nouveaut\u00e9s, fonctionnalit\u00e9s et am\u00e9liorations expliqu\u00e9es"}]},{"@type":"WebSite","@id":"https:\/\/newblog.siteground.com\/fr\/#website","url":"https:\/\/newblog.siteground.com\/fr\/","name":"Blog SiteGround","description":"","publisher":{"@id":"https:\/\/newblog.siteground.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/newblog.siteground.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/newblog.siteground.com\/fr\/#organization","name":"Blog SiteGround","url":"https:\/\/newblog.siteground.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newblog.siteground.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/01\/cropped-Siteground-Logo-on-white.jpg","contentUrl":"https:\/\/newblog.siteground.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/01\/cropped-Siteground-Logo-on-white.jpg","width":173,"height":250,"caption":"Blog SiteGround"},"image":{"@id":"https:\/\/newblog.siteground.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/newblog.siteground.com\/fr\/#\/schema\/person\/380162a677d6c37329e9a12baa334572","name":"Daniel Kanchev","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newblog.siteground.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f0baefb86ae4d35a2e71cb0966e1847f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f0baefb86ae4d35a2e71cb0966e1847f?s=96&d=mm&r=g","caption":"Daniel Kanchev"},"sameAs":["https:\/\/www.linkedin.com\/in\/daniel-kanchev-29716455\/"],"url":"https:\/\/newblog.siteground.com\/fr\/author\/daniel\/"}]}},"_links":{"self":[{"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/posts\/1047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/comments?post=1047"}],"version-history":[{"count":2,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/posts\/1047\/revisions"}],"predecessor-version":[{"id":1057,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/posts\/1047\/revisions\/1057"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/media\/1052"}],"wp:attachment":[{"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/media?parent=1047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/categories?post=1047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/newblog.siteground.com\/fr\/wp-json\/wp\/v2\/tags?post=1047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}