PHP 7 : Les nouveautés

Utiliser les types de paramètres

Testez gratuitement nos 1298 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Passer des paramètres à des fonctions et en garantir l'intégrité sont désormais possibles. Servez-vous ainsi du tapage des paramètres de fonctions.
04:31

Transcription

Allez, vous en mourez d'envie c'est parti, on va faire un peu de code ! On va d'abord parler, dans un premier temps, du typage de paramètres en PHP 7. Eh oui, vous entendez bien, du typage de paramètres ! On a maintenant la possibilité, en PHP 7, de typer les paramètres. Ce que j'entends par « paramètres » ? Les signatures de vos fonctions, ce que vous passez dans vos fonctions, vous allez pouvoir les typer. Voyons le script que je vous ai préparé pour qu'on puisse illustrer l'exercice. Voici un script que l'on va faire tourner en console. On va le lancer directement dans un terminal pour voir le résultat, et il ne va pas faire grand-chose, il va prendre deux arguments, a et b. On va avoir un résultat qui sera simplement l'addition des deux et on va demander des « echo », des sorties, du type de a, de b et du résultat, et on va voir comment se débrouille PHP 7, tout seul, dans un premier temps, sans qu'on ait besoin d'agir. On va, pour ce faire, le lancer trois fois avec des paramètres différents. La première fois, des integer, la deuxième fois, on aura des string, « 1 » et « 2 », et la troisième fois, des valeurs flottantes, des double. Si je le lance une fois comme ça, sans plus de renseignements, voilà ce qu'il va se passer. La première fois, a et b sont des integer et le résultat est un integer. C'est tout à fait normal. La deuxième fois, a et b sont des string et c'est vrai, a et b sont des string, mais le résultat est un integer, donc il se débrouille tout seul pour faire l'addition et transformer ça en integer. Ça, c'est génial ! La troisème fois, a et b sont des double et le résultat est aussi un double. Oui c'est normal, il va effectivement calculer ça et il va conserver le formatage de base et le type. Mais vous allez pouvoir agir là-dessus et vous allez agir simplement en référençant un type de scalaire, on appelle ça les « scalar type », et quels sont les différents scalar type ? Eh bien il y a les booléens, vous allez avoir les string, vous allez avoir les flottants, vous allez avoir les array. Donc, tous les types qu'on peut renseigner de façon classique et que l'on connaît. Comment les renseigner ? Directement ici, j'ajoute « int » au premier et au deuxième. Si vous avez fait de la programmation orientée objet, vous savez qu'il était déjà possible en PHP de typer un paramètre de fonction en lui assignant un type qui était une classe pour que ça respecte une classe, une interface ou autre. Maintenant vous pouvez aussi typer les paramètres avec un scalaire. Que se passe-t-il alors si j'enregistre et relance cette commande ? Eh bien, regardez, ça va être transformé par PHP 7 cela va se transformer à chaque fois en integer et ils deviendront tous des integer, même les string, c'est superbe ! On n'a donc pas de problématiques, ça ne soulève pas d'erreurs, par contre ça va garantir qu'à l'intérieur de la fonction, vous avez demandé à avoir des integer, donc vous demandez à PHP de transformer automatiquement ces paramètres en integer. Bien sûr, on ne peut pas s'amuser à taper « popo » et s'attendre à un résultat positif. Là, on aurait bien une erreur parce qu'il ne saurait pas transformer « popo » en chiffre. Là, il peut le faire parce qu'il comprend que 1 en string correspond à 1 en integer, il n'y a pas de soucis. On peut aller un peu plus loin et déclarer au début du script une option strict_types que l'on va mettre à true, à 1. Si vous activez les strict_types, vous activez donc les types stricts que vous devez respecter, ce qui va générer des erreurs à l'exécution de votre fonction si vous ne respectez pas ce que vous passez en paramètres. Ça fonctionnera donc pour la première exécution, par contre avec les string, vous avez demandé à n'avoir que des int, donc PHP ne fera plus de transformation et il vous soulèvera une erreur automatiquement. Là, ça marche si je n'enregistre pas le script, par contre avec l'option activée, j'ai maintenant une erreur à la deuxième exécution, vous voyez qu'ici, il s'attend obligatoirement à un integer. Si je lui passe une string, il nous dit qu'il y a une erreur. Pensez à ça, c'est effectivement très intéressant de typer les paramètres à l'intérieur d'une fonction parce que ça vous permet d'asseoir un contrat que vos fonctions devront respecter, et que l'appel de ces fonctions devra respecter, et ça vous permet, comme pour une interface, de garantir que ce sera correctement utilisé. Ici on veut des integer et rien d'autre et on n'aura donc que des integer et rien d'autre.

PHP 7 : Les nouveautés

Profitez des nouveautés de PHP 7. Découvrez l’amélioration des performances globales, le nouvel opérateur de comparaison, le typage des paramètres scalaires, etc.

1h07 (24 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :19 mai 2016

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 !