{"id":695,"date":"2021-09-08T12:27:35","date_gmt":"2021-09-08T12:27:35","guid":{"rendered":"https:\/\/www.capconnect.com\/blog\/?p=695"},"modified":"2021-09-08T20:02:51","modified_gmt":"2021-09-08T20:02:51","slug":"php-8-mise-a-jour","status":"publish","type":"post","link":"https:\/\/www.capconnect.com\/blog\/php-8-mise-a-jour\/","title":{"rendered":"PHP 8 disponible : les nouveaut\u00e9s de la mise \u00e0 jour"},"content":{"rendered":"<p>Le <a href=\"https:\/\/fr.wikipedia.org\/wiki\/PHP\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">langage PHP<\/a> a connu, une fois de plus, une nouvelle mise \u00e0 jour. En effet, la version PHP 8 a vu le jour en 2020 et est actuellement la version la plus r\u00e9cente qui a \u00e9t\u00e9 mise \u00e0 la disposition du public.<\/p>\n<p>Cette version vient corriger certaines malfonctions qui ont surgi et sont apparues au niveau des versions pr\u00e9c\u00e9dentes, mais apporte \u00e9galement plusieurs optimisations, d\u00e9veloppements, fonctionnalit\u00e9s et nouveaut\u00e9s.<\/p>\n<p>Ceci ne signifie pas pour autant que les versions pr\u00e9c\u00e9dentes sont obsol\u00e8tes ou dysfonctionnelles. Cela signifie simplement qu\u2019en adoptant la mise \u00e0 jour de PHP 8, vous choisissez de b\u00e9n\u00e9ficier de multiples nouvelles possibilit\u00e9s int\u00e9ressantes pour votre site. En effet, les nouvelles fonctions offrent plusieurs avantages et les failles sont mieux g\u00e9r\u00e9es.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_38 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\">Table de mati&egrave;res<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" style=\"display: none;\"><label for=\"item\" aria-label=\"Table des mati\u00e8res\"><span style=\"display: flex;align-items: center;width: 35px;height: 30px;justify-content: center;\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/label><input type=\"checkbox\" id=\"item\"><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.capconnect.com\/blog\/php-8-mise-a-jour\/#Quest_ce_que_PHP\" title=\"Qu\u2019est ce que PHP?\">Qu\u2019est ce que PHP?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.capconnect.com\/blog\/php-8-mise-a-jour\/#Fonctionnalites_de_PHP_8\" title=\"Fonctionnalit\u00e9s de PHP 8\">Fonctionnalit\u00e9s de PHP 8<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Quest_ce_que_PHP\"><\/span>Qu\u2019est ce que PHP?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Hypertext Preprocessor ou encore PHP est un langage de script, c&rsquo;est-\u00e0-dire un langage de programmation libre de sites web. Il permet de cr\u00e9er des sites web dynamiques, dits vivants.<br \/>\n\u00c9tant rapide, flexible et pragmatique, ce langage peut \u00eatre utilis\u00e9 pour tout type de site, ainsi m\u00eame pour des sites tels que Facebook.<\/p>\n<p>Pour b\u00e9n\u00e9ficier du langage PHP, vous devez d\u2019abord disposer d\u2019un <a title=\"nom de domaine\" href=\"https:\/\/www.capconnect.com\/noms-de-domaine\" target=\"_blank\" rel=\"noopener noreferrer\">nom de domaine<\/a>\u00a0(<a title=\"nom de domaine maroc\" href=\"https:\/\/www.capconnect.com\/nom-de-domaine-ma\" target=\"_blank\" rel=\"noopener noreferrer\">nom de domaine maroc<\/a>) et d\u2019une<br \/>\nformule d\u2019<a href=\"https:\/\/www.capconnect.com\/hebergement-web\" target=\"_blank\" rel=\"noopener noreferrer\">h\u00e9bergement web<\/a> solide.<\/p>\n<p>Vous pouvez augmenter et\/ou modifier la version PHP actuelle adopt\u00e9e pour votre site Web \u00e0<br \/>\ntout moment.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-698 size-medium\" title=\"PHP 8\" src=\"https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release-300x188.png\" alt=\"PHP 8\" width=\"300\" height=\"188\" srcset=\"https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release-300x188.png 300w, https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release-1024x640.png 1024w, https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release-768x480.png 768w, https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release-1170x731.png 1170w, https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release-585x366.png 585w, https:\/\/www.capconnect.com\/blog\/wp-content\/uploads\/2021\/09\/PHP-8-release.png 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Fonctionnalites_de_PHP_8\"><\/span>Fonctionnalit\u00e9s de PHP 8<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u2019avantage le plus important et le plus remarquable que propose PHP 8 est celui de la compilation JIT (Just in time), aussi appel\u00e9e compilation \u00e0 la vol\u00e9e ou encore compilation juste-\u00e0-temps.<br \/>\nLa <strong>compilation JIT<\/strong> est une technique qui permet d\u2019am\u00e9liorer la performance et l\u2019efficacit\u00e9 des syst\u00e8mes compil\u00e9s et se basant sur le bytecode. En effet, elle permet de traduire le bytecode, originellement issu d\u2019un code source difficilement interpr\u00e9table, imm\u00e9diatement lors du moment de l\u2019ex\u00e9cution.<\/p>\n<p>Le but est donc d\u2019obtenir un code optimis\u00e9 \u00e0 partir du bytecode plut\u00f4t qu\u2019\u00e0 partir du code source. Cette technique est particuli\u00e8rement efficace lorsqu\u2019il s\u2019agit d\u2019une compilation d\u2019un code chaud, c\u2019est \u00e0 dire le code le plus utilis\u00e9 \u00e0 un moment et celui qui n\u00e9cessite le plus de m\u00e9moire.<\/p>\n<p>Cette compilation permet donc des am\u00e9liorations consid\u00e9rables au niveau du PHP, de sorte que plusieurs fonctions peuvent d\u00e9sormais \u00eatre directement \u00e9crites.<\/p>\n<p>En plus de la compilation JIT, d\u2019autres nouvelles fonctionnalit\u00e9s sont actuellement disponibles et qui rendent PHP beaucoup plus efficace. Parmi ces nouveaut\u00e9s, on peut ainsi citer:<\/p>\n<p><strong>&#8211; Les types d\u2019unions 2.0:<\/strong> qui acceptent actuellement de nouvelles valeurs \u00e0 attribuer aux classes. Avant, il \u00e9tait n\u00e9cessaire de faire une re-v\u00e9rification lorsque plusieurs types sont attribu\u00e9s \u00e0 une m\u00eame classe. D\u00e9sormais, cela se fait automatiquement.<\/p>\n<p><strong>&#8211; Les attributs v2:<\/strong> PHP 8 propose des attributs v2 qui prennent la forme de m\u00e9tadonn\u00e9es (des donn\u00e9es qui d\u00e9crivent d\u2019autres donn\u00e9es). Ces m\u00e9tadonn\u00e9es permettent donc de d\u00e9crire des objets, des documents ou fichiers et d\u2019y leur attribuer des caract\u00e9ristiques bien pr\u00e9cises, qui peuvent par la suite \u00eatre ajout\u00e9es aux classes.<\/p>\n<p><strong>&#8211; Les arguments nomm\u00e9s:<\/strong> Named arguments en anglais. La particularit\u00e9 de ces arguments, comme l\u2019indique leur nom, est le fait qu\u2019il soit nomm\u00e9. En effet, ils permettent de passer des arguments \u00e0 une fonction selon le nom du param\u00e8tre concern\u00e9. Ceci vous \u00e9vite la confusion qui r\u00e9sulte lorsqu\u2019il y a une longue liste d\u2019arguments et de<br \/>\nparam\u00e8tres.<\/p>\n<p><strong>&#8211; L\u2019expression throw:<\/strong> La version PHP 8 permet de convertir \u201cthrow\u201d qu\u2019est originellement une d\u00e9claration en une expression. Le but est de pouvoir l\u2019utiliser dans toute position ou contexte o\u00f9 les expressions sont autoris\u00e9es.<\/p>\n<p><strong>&#8211; Les Weak Maps:<\/strong> Le but de ces weak maps est une meilleure gestion des ressources lors de la manipulation d\u2019objets. En effet, la version PHP 7.4 avait d\u00e9j\u00e0 trouv\u00e9 un moyen pour prendre en charge les r\u00e9f\u00e9rences brutes faibles, qui s\u2019av\u00e8rent moins utiles mais qui occupent quand m\u00eame de l\u2019espace.<\/p>\n<p>Ceci dit, l\u2019introduction de la classe weakmap permet donc de cr\u00e9er des objets qui peuvent \u00eatre facilement d\u00e9truits et retir\u00e9s lorsqu&rsquo;ils ne sont plus utiles. Cette fonctionnalit\u00e9 permet d\u2019am\u00e9liorer la performance de la m\u00e9moire.<\/p>\n<p><strong>&#8211; La virgule de fin dans la liste des param\u00e8tres<\/strong>, incluant les fonctions, les m\u00e9thodes et les fermetures est une nouvelle fonctionnalit\u00e9 ajout\u00e9e dans la version PHP 8 qui a connu une forte demande.<\/p>\n<p><strong>&#8211; L\u2019op\u00e9rateur \u201cNullsafe\u201d:<\/strong> La particularit\u00e9 de cette fonctionnalit\u00e9 r\u00e9side dans la possibilit\u00e9 d\u2019utiliser un nouvel op\u00e9rateur Nullsafe pour une cha\u00eene d\u2019appel. Ceci vous \u00e9vite de faire des v\u00e9rifications conditionnelles de nul vu que l\u2019op\u00e9rateur permet d\u2019\u00e9valuer la cha\u00eene enti\u00e8re \u00e0 null et de l\u2019arr\u00eater si l\u2019un des op\u00e9rateurs est \u00e9valu\u00e9 \u00e0 null.<\/p>\n<p>Toutes les fonctionnalit\u00e9s qui ont \u00e9t\u00e9 introduites avec la nouvelle version de PHP nous permettent de dire que cette mise \u00e0 jour a connu un grand succ\u00e8s. Ceci revient aux nombreuses optimisations et changements efficaces qui ont permis d\u2019am\u00e9liorer la performance des applications et l\u2019\u00e9criture de meilleurs codes plus solides, pr\u00e9cis, d\u00e9taill\u00e9s et puissants.<\/p>\n<p>B\u00e9n\u00e9ficiez de la version PHP 8 avec votre formule d\u2019<a title=\"h\u00e9bergement web maroc\" href=\"https:\/\/www.capconnect.com\/hebergement-web\" target=\"_blank\" rel=\"noopener noreferrer\">h\u00e9bergement web<\/a> d\u00e8s maintenant!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le langage PHP a connu, une fois de plus, une nouvelle mise \u00e0 jour. En effet, la version PHP 8 a vu le jour en 2020 et est actuellement la&hellip;<\/p>\n","protected":false},"author":4,"featured_media":706,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,13],"tags":[235,238,240,233],"class_list":["post-695","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hebergement-web","category-cap-connect-news","tag-hebergement-web","tag-nom-de-domaine","tag-nom-de-domaine-ma","tag-php-8"],"_links":{"self":[{"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/posts\/695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/comments?post=695"}],"version-history":[{"count":0,"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/posts\/695\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/media\/706"}],"wp:attachment":[{"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/media?parent=695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/categories?post=695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.capconnect.com\/blog\/wp-json\/wp\/v2\/tags?post=695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}