Table des matières
4.3. 方法
Maison développement back-end tutoriel php Introduction aux spécifications de développement de codage PHP (avec exemples)

Introduction aux spécifications de développement de codage PHP (avec exemples)

Apr 01, 2019 am 10:29 AM
php

Ce que cet article vous apporte est une introduction aux spécifications de développement de codage PHP (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Ces derniers jours, j'ai lu un ensemble de spécifications de développement Java "Alibaba Java Development Manual" publié par Alibaba Technology. Il contient les spécifications et les normes de développement Java internes d'Alibaba, et il est très bien écrit. Cet ensemble de spécifications Java unifiées contribuera à améliorer le niveau de normalisation du codage industriel, aidera le personnel de l'industrie à améliorer la qualité et l'efficacité du développement et à réduire considérablement les coûts de maintenance du code.

Après avoir lu ceci, j'ai recherché des spécifications et des normes de développement PHP et j'ai appris que la spécification PSR est un ensemble de normes de développement couramment utilisées dans l'industrie PHP. Je déplore d’avoir si peu appris et d’avoir découvert si tard les normes standards.

En effet, pour les novices ou les développeurs ayant plusieurs années d'expérience, nous devons maîtriser ces spécifications. Dans de nombreux cas, si nous faisons bien ces spécifications, en développement collaboratif, nous pouvons améliorer la qualité et l'efficacité de notre développement. .

Qu'est-ce que le PSR ?

PSR est l'abréviation de PHP Standard Recommendations. La spécification PHP développée par l'organisation PHP FIG est une norme pratique pour le développement PHP.

PHP FIG a actuellement voté pour l'adoption de 6 ensembles de normes et a été pris en charge et reconnu par la plupart des frameworks PHP.

Parmi eux, ceux qui ont réussi sont :

  • Spécification de codage de base PSR-1
  • Spécification de style de codage PSR-2
  • Spécification de l'interface de journal PSR-3
  • Spécification de chargement automatique PSR-4
  • PSR-6 spécification de l'interface de cache
  • Spécification de l'interface de message HTTP PSR-7

*Remarque : PSR-0 est obsolète et PSR-5 est toujours en cours de rédaction et le sera être ajouté plus tard

Ici, nous introduisons d'abord les normes de codage de base PSR-1

1 Présentation

Les fichiers de code PHP doivent se terminer par

Les fichiers de code PHP doivent être codés en UTF-8 sans BOM

Le code PHP ne doit définir que des déclarations telles que des classes, fonctions, constantes, etc., ou pour d'autres opérations qui produiront des effets secondaires (telles que la génération d'une sortie de fichier et la modification des fichiers de configuration .ini, etc.), vous ne pouvez choisir que l'un des deux

<🎜 ; > les espaces de noms et les classes doivent être conformes à la spécification de chargement automatique de PSR : un des [PSR-4](); ; toutes les lettres des constantes de la classe


doivent être suivies. Mettre en majuscule et utiliser des traits de soulignement pour séparer les mots


Les noms de méthodes doivent être conformes à la convention de dénomination camelCase de style camelCase ; en commençant par les minuscules.


2. Fichier

2.1. Balise PHP

Le code PHP doit utiliser la balise longue Ou la balise de sortie courte ne doit pas utiliser d'autres balises personnalisées.

2.2. Encodage des caractères

Le code PHP doit et ne peut utiliser que l'encodage UTF-8 sans BOM. (C'est très important)

2.3. Effets secondaires

Un fichier PHP doit soit définir uniquement de nouvelles déclarations, telles que des classes, des fonctions ou des constantes, etc. produire des effets secondaires, ou simplement écrire des opérations logiques qui produisent des effets secondaires, mais pas les deux en même temps. Le terme « effets secondaires » désigne des opérations logiques effectuées uniquement en incluant des fichiers sans déclarer directement les classes, fonctions, constantes, etc.

Les « effets secondaires » incluent, sans s'y limiter :

Générer une sortie

  • Exiger ou inclure directement
  • Connecter les services externes
  • Modifier la configuration ini
  • Lancer une erreur ou une exception
  • Modifier des variables globales ou statiques
  • Lire ou écrire des fichiers, etc.
    Ce qui suit est un contre-exemple, un document contenant une "déclaration de fonction " et "effets secondaires" Code :
Ce qui suit est un exemple, un code qui contient uniquement des déclarations qui ne produisent pas d'"effets secondaires" :

<?php
// 「副作用」:修改 ini 配置
ini_set(&#39;error_reporting&#39;, E_ALL);
// 「副作用」:引入文件
include "file.php";
// 「副作用」:生成输出
echo "<html>\n";
// 声明函数
function foo()
{
   // 函数主体部分
}
Copier après la connexion


3. Espaces de noms et classes

<?php
// 声明函数
function foo()
{
   // 函数主体部分
}
// 条件声明 **不** 属于「副作用」
if (! function_exists(&#39;bar&#39;)) {
   function bar()
   {
       // 函数主体部分
   }
}
Copier après la connexion

La dénomination des espaces de noms et des classes doit suivre [PSR-4](). Selon la spécification, chaque classe est un fichier indépendant et l'espace de noms a au moins un niveau : le nom de l'organisation de niveau supérieur (nom du fournisseur).

La dénomination des classes doit suivre la convention de dénomination des cas de chameau de StudlyCaps en commençant par une majuscule.

Le code pour PHP 5.3 et les versions ultérieures doit utiliser des espaces de noms formels.

Par exemple :

<?php
// PHP 5.3及以后版本的写法
namespace Vendor\Model;
class Foo
{
}
Copier après la connexion

5.2.x 及之前的版本 应该 使用伪命名空间的写法,约定俗成使用顶级的组织名称(vendor name)如 Vendor_ 为类前缀。

<?php
// 5.2.x及之前版本的写法
class Vendor_Model_Foo
{
}
Copier après la connexion

4. 类的常量、属性和方法

此处的「类」指代所有的类、接口以及可复用代码块(traits)。

4.1. 常量

类的常量中所有字母都 必须 大写,词间以下划线分隔。

参照以下代码:

<?php
namespace Vendor\Model;
class Foo
{
   const VERSION = &#39;1.0&#39;;
   const DATE_APPROVED = &#39;2012-06-01&#39;;
}
Copier après la connexion

4.2. 属性

类的属性命名 可以 遵循:

  • 大写开头的驼峰式 ($StudlyCaps)
  • 小写开头的驼峰式 ($camelCase)
  • 下划线分隔式 ($under_score)

本规范不做强制要求,但无论遵循哪种命名方式,都 应该 在一定的范围内保持一致。这个范围可以是整个团队、整个包、整个类或整个方法。

4.3. 方法

方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。

【相关推荐: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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

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.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

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.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

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

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

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,

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

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

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

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

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

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 PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

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.

See all articles