Tapez la conduite en php
Points clés
- L'invite de type de PHP permet aux développeurs de spécifier le type de données de données attendu dans la déclaration de fonction, améliorant ainsi la robustesse et la lisibilité du code. Cependant, l'invite de type de PHP ne prend pas en charge les types de données scalaires, tels que des chaînes ou des entiers.
- PHP est un langage faiblement dactylographié, ce qui signifie qu'il ne vous oblige pas à déclarer des types de données. L'ajout de types de type php scalaire dans PHP 5.4 a été controversé, et les adversaires pensent que cela est contraire à la conception de base de PHP. Bien que initialement soutenu, cette fonctionnalité n'entre pas dans le PHP 5.4 en raison des réponses communautaires.
- Bien qu'il existe des limites dans les indices de type PHP, vous pouvez effectuer une vérification de base pour y parvenir lorsque le paramètre n'est pas un type scalaire. Dans ce cas, des fonctions telles que
is_string()
ouis_int()
peuvent être utilisées pour augmenter une erreur ou lancer une exception.
En commençant par PHP 5, vous pouvez utiliser des invites de type pour spécifier le type de données de données attendues dans une déclaration de fonction. Lorsque vous appelez une fonction, PHP vérifie si le paramètre est du type spécifié. Sinon, le runtime augmentera une erreur et arrêtera l'exécution. Les types valides incluent le nom de classe de l'objet récepteur et le array
du tableau de réception. Voici un exemple:
<?php function enroll(Student $student, School $school) { echo "Enrolling " . $student->name . " in " . $school->name; } ?>
En disant à la méthode PHP enroll()
quel type d'objet que vous vous attendez à recevoir, vous pouvez vous assurer que les élèves sont inscrits dans une école plutôt qu'un monastère ou un plan 401k. Encore une fois, vous savez qu'il n'y aura pas de pachydermes tenaces apparaissant le premier jour de la troisième année. Que se passe-t-il si j'essaie de m'inscrire auprès de Medicare?
<?php $me = new Student("Amanda"); $medicare = new Program("Medicare"); $enroll = enroll($me, $medicare); ?>
Bien que je sois étudiant, l'erreur suivante se produit:
<code>Catchable fatal error: Argument 2 passed to enroll() must be an instance of School, instance of Program given, called in typehint.php on line 32 and defined in typehint.php on line 6</code>
Si <cod>null
est utilisé comme valeur par défaut du paramètre, il sera également autorisé. Voici un exemple, cette fois en utilisant un tableau:
<?php function startParty(array $guests, array $food = null) { // party stuff... } $guests = array("Susan Foreman", "Sarah Jane Smith", "Rose Tyler", "Donna Noble"); startParty($guests, null); ?>
Tant qu'il y aura des invités, il y aura des fêtes, qu'il y ait ou non de la nourriture.
Limites des pointes de type
Toute classe définie peut être une invite de type valide, bien que PHP ne prenne pas en charge les invites de type pour les objets génériques. Qu'en est-il des autres situations? Voici un exemple spécial sur les limites des invites de type PHP:
<?php function stringTest(string $string) { echo $string; } stringTest("definitely a string"); ?>
<code>Catchable fatal error: Argument 1 passed to stringTest() must be an instance of string, string given, called in typehint.php on line 42 and defined in typehint.php on line 39</code>
Vous n'êtes pas le premier à penser "Qu'est-ce qui est fou? Je vous ai donné une instance de chaîne, mais vous vous plaignez que ce doit être une instance de chaîne!" C'est une chose commune. En fait, à première vue, cela peut être un message d'erreur plutôt déroutant. stringTest()
ne recherche pas des chaînes, mais des instances de classes de chaînes. L'invite de type PHP ne prend pas en charge les types de données scalaires, telles que les chaînes ou les valeurs entières. Mais ça va! Si vous devez augmenter une erreur ou lancer une exception lorsque l'argument n'est pas un type scalaire (comme une chaîne ou un entier), vous pouvez effectuer une vérification de base à l'aide de fonctions telles que is_string()
ou is_int()
pour y parvenir.
guerre scalaire
Il existe certaines controverses dans l'ajout d'invites de type php scalaire à PHP 5.4. Les opposants au changement pensent que ce soutien violerait la conception de base de PHP. Le PHP est considéré comme une langue de type faible. Essentiellement, cela signifie que PHP ne vous oblige pas à déclarer le type de données. Les variables sont toujours associées au type de données auxquelles ils sont associés, mais vous pouvez faire quelque chose de radical, comme l'ajout de chaînes à des entiers sans causer d'erreurs. En mai 2010, une prise en charge des indices de type scalaire a été ajoutée à l'épine dorsale PHP. Mais en raison des réponses communautaires, cette fonctionnalité n'entrera pas sur la version 5.4.
Résumé
Les invites de type sont l'introduction de la technologie PHP pour la programmation orientée objet (en particulier pour identifier les types qui captent des exceptions). Je vous encourage à en savoir plus sur l'utilisation d'objets ici. Images de Carlos E. Santa Maria / Shutterstock
PHP Type Tips FAQ (FAQ)
Quelle est l'importance de l'invite de type PHP?
PHP 中的类型提示是一个重要特性,允许开发者在函数声明中指定参数的预期数据类型。 Il améliore la robustesse du code en s'assurant que la fonction reçoit le type correct de valeurs numériques. Il en résulte moins de bogues et de vulnérabilités dans le code, ce qui le rend plus fiable et plus facile à déboguer. Il améliore également la lisibilité du code, ce qui permet aux autres développeurs de comprendre plus facilement les fonctions du code.
Puis-je utiliser des invites de type pour tous les types de données en PHP?
PHP prend en charge les invites de type pour une variété de types de données, y compris des objets, des tableaux, des interfaces, des callables et des itérables. Cependant, il convient de noter que PHP ne prend pas en charge les invites de type scalaire (int, float, string et bool) jusqu'à la version 7.0. En commençant par PHP 7.0, vous pouvez utiliser des invites de type pour tous les types de données.
Que se passe-t-il si le type de données du paramètre passé ne correspond pas à l'invite de type?
PHP lancera une "erreur fatale" si le type de données du paramètre passé ne correspond pas à l'invite de type dans la déclaration de fonction. Cette erreur arrêtera l'exécution du script et empêchera tout traitement supplémentaire. C'est pourquoi vous devez vous assurer que le type de données correct est transmis à la fonction.
Comment le type PHP est-il invité à fonctionner avec l'héritage des classes?
Dans PHP, les invites de type peuvent être utilisées avec l'héritage de la classe. Si une fonction attend des paramètres d'un type de classe spécifique, il acceptera également les instances de sous-classes de cette classe. En effet, une sous-classe est un type spécifique de sa classe parent, satisfaisant ainsi l'indice de type.
Puis-je utiliser des invites de type dans les fonctions intégrées de PHP?
Non, l'invite de type en PHP ne peut être utilisée que pour les fonctions définies par l'utilisateur. Les invites de type ne sont pas prises en charge par les fonctions intégrées dans PHP. Cependant, ces fonctions ont souvent des mécanismes internes pour gérer différents types de données.
Quel est le modèle strict dans l'invite de type PHP?
Le mode strict dans les invites de type PHP est une caractéristique introduite dans PHP 7.0. Lorsque le mode strict est activé, PHP applique la correspondance exacte des types de données en fonction des invites de type. Si le type de données du paramètre passé ne correspond pas exactement à l'invite de type, PHP lancera une "erreur fatale" même si le paramètre peut être jeté au type correct.
Comment activer le mode strict en PHP?
pour activer le mode strict en PHP, vous devez déclarer declare(strict_types=1);
en haut du fichier PHP. Cette déclaration doit être la première déclaration du script.
Quelle est la différence entre le mode faible et le mode strict dans les invites de type PHP?
La différence entre les modes faibles et stricts dans les invites de type PHP est de savoir comment PHP traite de la décalage du type. En mode faible, si possible, PHP tentera de lancer les paramètres passés au type de données correct. En revanche, en mode strict, PHP n'essaiera pas de lancer des valeurs, et une "erreur fatale" sera lancée si les types de données ne correspondent pas exactement.
Puis-je utiliser des invites de type pour les valeurs de retour de fonction?
Oui, en commençant par PHP 7.0, vous pouvez utiliser des invites de type pour les valeurs de retour de fonction. Cette fonctionnalité vous permet de spécifier le type de données attendu de la valeur de retour de la fonction, améliorant ainsi la fiabilité et la lisibilité de votre code.
Quelle est l'invite de type nullable en PHP?
L'invite de type nullable est une fonctionnalité introduite dans PHP 7.1. Il vous permet de spécifier le paramètre de fonction ou la valeur de retour peut être du type spécifié ou NULL. Pour rendre l'invite de type vide, préfixez le nom de type avec un point d'interrogation (?). Par exemple, "? String" signifie que la valeur peut être une chaîne ou un nul.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Dans PHP, Password_Hash et Password_verify Les fonctions doivent être utilisées pour implémenter le hachage de mot de passe sécurisé, et MD5 ou SHA1 ne doit pas être utilisé. 1) Password_hash génère un hachage contenant des valeurs de sel pour améliorer la sécurité. 2) Password_verify Vérifiez le mot de passe et assurez-vous la sécurité en comparant les valeurs de hachage. 3) MD5 et SHA1 sont vulnérables et manquent de valeurs de sel, et ne conviennent pas à la sécurité de mot de passe moderne.

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.
