Explication détaillée des spécifications du standard PHP
Cet article partage principalement avec vous l'explication détaillée des spécifications du standard PHP, dans l'espoir d'aider tout le monde.
psr0 : la norme de chargement automatique
a été remplacée par psr4, vous pouvez en apprendre davantage
Obligatoire : espace de noms et format de classe entièrement qualifiés. :
2 Obligatoire : chaque espace de noms doit avoir un espace de noms de niveau supérieur (Nom du fournisseur).
3. Chaque espace de noms peut contenir n'importe quel nombre de sous-espaces de noms.
4. Lorsque le système de fichiers charge le fichier source, le séparateur entre les espaces de noms sera converti en DIRECTORY_SEPARATOR.
5. Les traits de soulignement _ dans le nom de la classe
6. Les espaces de noms et les classes entièrement qualifiés verront le suffixe .php ajouté lors du chargement des fichiers source à partir du système de fichiers.
7. Les casses de lettres dans un espace de noms entièrement qualifié peuvent être n'importe quelle combinaison.
Exemple
\Doctrine\Common\IsolatedClassLoader => /path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php \Symfony\Core\Request => /path/to/project/lib/vendor/Symfony/Core/Request.php \Zend\Acl => /path/to/project/lib/vendor/Zend/Acl.php \Zend\Mail\Message => /path/to/project/lib/vendor/Zend/Mail/Message.php \namespace\package\Class_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php \namespace\package_name\Class_Name => /path/to/project/lib/vendor/namespace/package_name/Class/Name.php
psr1 : Spécifications de programmation de base
Obligatoire : La balise php doit être . Obligatoire : le fichier doit être codé en UTF-8 sans BOM 3. Le code dans le fichier php ne peut être que des déclarations telles que la définition de classes, de fonctions, de constantes, etc., ou il ne peut s'agir que de quelques opérations secondaires 4. Espaces de noms et. les classes doivent répondre à psr0 ou psr45 . Le nom de la classe doit être la spécification StudlyCaps [nommage CamelCase commençant par une majuscule] 6. Toutes les lettres des constantes de la classe doivent être en majuscules et séparées par des traits de soulignement 7. Le nom de la méthode doit être la spécification de dénomination camelCase.
Explication
副操作包含却不仅限于:生成输出、直接的 require 或 include、连接外部服务、 修改 ini 配置、抛出错误或异常、修改全局或静态变量、读或写文件等。<?php// side effect: change ini settingsini_set('error_reporting', E_ALL);// side effect: loads a fileinclude "file.php";// side effect: generates outputecho "<html>\n";// declarationfunction foo(){ // function body}<?php// declarationfunction foo(){ // function body}// conditional declaration is not a side effectif (! function_exists('bar')) { function bar() { // function body } }
La spécification du style de programmation psr2
est une extension de psr1
1 Doit suivre psr12. 3. Caractères d'espacement. Le nombre de caractères par ligne doit être limité à 80. En théorie, il ne doit pas dépasser 120, mais il ne doit pas y avoir de limite stricte. 4. Une ligne vide doit être insérée après chaque déclaration d'espace de noms et utiliser un bloc de déclaration. Toutes les utilisations doivent être déclarées après l'espace de noms. 5. Les accolades ouvrantes des méthodes et des classes doivent être écrites sur une nouvelle ligne après leur déclaration. 6. abstract et final doivent être avant les modificateurs private, protected et public, et static doit être déclaré après le modificateur d'accès. 7. Il doit y avoir un espace après le mot-clé de la structure de contrôle, mais il ne doit pas y en avoir lors de l'appel d'une méthode ou d'une fonction. 8. L'accolade ouvrante d'une structure de contrôle doit être écrite sur la même ligne que la déclaration. 9. Il ne doit y avoir aucun espace après la parenthèse gauche d’ouverture et avant la parenthèse droite de fermeture de la structure de contrôle. 10. Tous les fichiers PHP doivent utiliser Unix LF comme terminateur de ligne.
11. Tous les fichiers PHP doivent se terminer par une ligne vide. 12. Il ne doit y avoir aucun espace supplémentaire après une ligne non vide. 13. Il ne doit pas y avoir plus d'une déclaration par ligne. 14. Tous les mots-clés PHP doivent être en minuscules.
Instance
<?phpnamespace Vendor\Package;use FooInterface;use BarClass as Bar;use OtherVendor\OtherPackage\BazClass;class Foo extends Bar implements FooInterface{ public function sampleMethod($a, $b = null) { if ($a === $b) { bar(); } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } }
psr4 chargé automatiquement
Remarque : n'est plus appelé après psr4 Espace de noms complet, mais nom de classe complet. 1. Un nom de classe complet doit avoir un espace de noms de niveau supérieur, appelé « espace de noms de fournisseur ». 2. Un nom de classe pleinement qualifié peut avoir un ou plusieurs sous-espaces de noms. 3. Un nom de classe complet doit avoir un nom de classe final ; . Les traits de soulignement n'ont aucune signification particulière. 5. Le nom complet de la classe peut être composé de lettres majuscules et minuscules. 6. Tous les noms de classe doivent être sensibles à la casse. 7. Dans le nom complet de la classe, supprimez le premier séparateur d'espace de noms, et le ou les espaces de noms et sous-espaces de noms consécutifs précédents sont utilisés comme « préfixe d'espace de noms », qui doit correspondre à au moins un « répertoire de base de fichiers » 8. Le sous-espace de noms qui suit immédiatement le préfixe de l'espace de noms doit correspondre au "répertoire de base de fichiers" correspondant, et le délimiteur d'espace de noms sera utilisé comme délimiteur de répertoire. 9. Le nom de la classe à la fin doit avoir le même nom que le fichier correspondant avec le suffixe .php. 10. L'implémentation du chargeur automatique ne doit pas générer d'exceptions, ne doit déclencher aucun niveau de messages d'erreur et ne doit pas avoir de valeur de retour.
Exemple
完整类名 | 命名空间前缀 | 文件基目录 | 文件路径 |
---|---|---|---|
AcmeLogWriterFile_Writer | AcmeLogWriter | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
AuraWebResponseStatus | AuraWeb | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
SymfonyCoreRequest | SymfonyCore | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
ZendAcl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |
Recommandations associées :
Exemple d'utilisation de la classe standard PHP (stdclass)
Programme de génération de code de vérification standard PHP
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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.
