Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

L'essentiel de PHP 7

Évaluer les méthodes de concaténation

Testez gratuitement nos 1338 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Il existe plusieurs méthodes de concaténation. Déterminez laquelle est la plus rapide, grâce à cette méthode qui vous sera utile dans votre utilisation de PHP.
05:28

Transcription

Alors, trois méthodes de concaténation voir plus, même de définition avec des guillemets, avec un « sprintf », avec des doubles guillemets. C'est bien, mais ça permet pas de se rendre compte. Et ça, se rendre compte vous allez en avoir besoin souvent en PHP, parce que vous voyez pour faire quelque chose, notamment la vue ici, on a plusieurs méthodes différentes. Je vous ai préparé un benchmark, vous allez préparer, donc en fait un petit script très simple, qui va permettre de savoir et de comprendre quelle est la méthode qui va le plus vite. Ça veut dire quoi qui va le plus vite ? Qui est la plus rapide à être exécutée par PHP, puisque le moteur de compilation, bien sûr on peut le benchmarker. Et pour ça, vous utiliserez ce genre de chose. Alors, je vous explique un petit peu ce que j'ai fait, c'est vrai que j'ai pas mis de commentaire, on aurait pu mettre des commentaires maintenant qu'on sait faire, mais je l'ai pas fait. Je vais vous montrer ça se passe en trois blocs concrètement. On a ce premier bloc qui va définir dans une variable « start » un microtime. Et puis ensuite, on l'a pas encore vu, mais on va boucler, on va boucler, on verra ça plus tard. Et puis on va simplement dans une variable assigner une valeur dans « i ». Alors, là je boucle comme vous pouvez le voir énormément de fois. Vous ferez jamais ça, c'est très rare de faire ça dans un script, mais ça permet comme de se rendre compte et quand vous avez des benchmarks à faire, je vous conseille de le faire. Un microtime qu'est-ce que ça fait ? Ça démarre, ça place dans la variable le temps, en fait, le temps serveur à un moment T. Et puis microtime derrière sur la variable « end - $start », voilà on va faire un moins du début, qu'on démarre un « microtime - $start ». Ça permet de récupérer le temps d'exécution entre cette partie-là, donc ce boot code-là et ce boot code-là, voilà ! Qu'est-ce qui s'est passé entre les deux ? On a juste fait énormément d'assignation. Donc, en fait ici on teste l'assignation avec des guillemets. Ici on teste l'assignation avec des guillemets simples et ici on teste la même assignation, mais avec un « sprintf ». Nous concrètement, on fait trois différentes concaténations: celle qu'on connaît avec les doubles, celle qu'on connaît avec les simples, et celle qu'on connaît avec « sprintf ». Et on va demander donc un PHP derrière de nous affichez ici les trois possibilités. Combien de temps ça a pris avec les guillemets ? Combien de temps ça a pris avec les apostrophes ? Combien de temps ça a pris avec le « sprintf » ? Vous allez voir que c'était le cas. C'est vrai qu'on a des valeurs qui sont pas du tout les mêmes, donc ici sur trois méthodes différentes en PHP, on va se retrouver avec un temps d'exécution qui n'est pas le même, donc des fois peut-être à quelque chose près. Allons voir un peu, ce que ça donne. On va le charger ce bench, allons-y bench pour PHP. On vous ferez entrer forcément ça va prendre un peu de temps, il faut que ça compile au niveau de PHP, donc ça passe dans le compilateur, il est en train de tout écrire et on se retrouve avec la fin. Alors, de temps en temps faites attention, ça c'est une valeur négative, mais pour le coup c'est bien 0.6 qu'il faut lire. Donc, on voit que ça a été avec les guillemets 0.11, ça a été avec les apostrophes 0.66, ça a été avec le « sprintf » 0.13. On ne retiendra bien sûr que les trois premiers chiffres, donc les deux premiers chiffres après la virgule et puis le chiffre avant la virgule. On peut le renoncer une seconde fois pour voir un peu ce que ça va donner, parce qu'évidemment ça va dépendre de beaucoup de choses un 0.1, 0.66, 0.13 ça va pas être les mêmes valeurs sur la deuxième exécution. C'est normal, parce que le compilateur lui il continue à fonctionner. Alors, on voit qu'on a du 0.85, du 0.11 et du 0.34. Visiblement celui qui est le plus rapide à chaque fois, c'est les guillemets. Alors, ça n'a pas toujours été vrai, en PHP les guillemets ont très souvent été rabaissés dans les benchmarks, parce qu'effectivement les apostrophes été beaucoup plus rapides à compiler que les guillemets. Ça change bien en PHP 7 le compilateur a évolué et maintenant les concaténations en guillemets fonctionnent beaucoup mieux et sont beaucoup plus rapides. On peut le relancer une troisième fois pour se faire une vraie idée, je vous conseille à chaque fois comme ça de venir relancer au moins trois fois un benchmark pour voir ce que ça donne. Ici on a du 0.1, du 0.33 et du 0.85. On se rend compte effectivement que les guillemets sont toujours plus rapides que le reste. Alors, la plupart du temps ce que je vous conseille, c'est soit d'utiliser les guillemets, qui restent assez lisibles et qui sont rapides à compiler ou alors d'utiliser le « sprintf ». Alors, c'est vrai que là pour le moment le « sprintf » dans notre test, il est à la rue. C'est pas toujours le cas, comme je vous dis, ça va vraiment dépendre de ce qui tourne sur votre machine de la mémoire que vous avez à louer, du nombre de scripts actuellement en train de marcher. Donc, ça c'est relatif réellement. Ce qui est intéressant avec le « sprintf » même s'il est un petit peu plus long que les autres, c'est qu'il est extrêmement lisible et que c'est vraiment très intéressant de pouvoir créer des chaînes de caractères. Alors, on mettra du coup les simples guillemets un petit peu à la rue et puis on conservera que des méthodes vraiment intéressantes, une qui améliore grandement la lisibilité et une qui est très rapide à compiler par PHP. Après, bien sûr, vous pourrez toujours choisir, mais c'est vrai qu'avoir un petit benchmark comme ça sur plusieurs façons de faire est très intéressant. Et je vous conseille de mettre en place ce genre de benchmark assez souvent, quand vous ne savez pas quelle méthode utiliser. La rapidité de votre script, c'est la rapidité du temps d'affichage de la page et c'est donc, d'une importance capitale quand vous développez en PHP, parce qu'on a pleines de façons de faire et il faut essayer de trouver la façon la plus intéressante. Vous remarquerez une dernière chose dans ce script, je n'ai pas fermé en bas avec un PHP fermant, donc la balise PHP fermante. Tout simplement, parce que ce n'est plus obligatoire donc vous pouvez omettre la fermeture de votre script, par contre n'oubliez jamais le démarrage, c'est ce qui permet au compilateur de savoir que vous êtes en PHP.

L'essentiel de PHP 7

Exploitez les nombreuses possibilités de PHP. Définissez des variables, créez des fonctions, manipulez du texte, abordez la gestion des objets, des opérateurs logiques, etc.

4h25 (52 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !