Table des matières
Introduction
Spécifications de base
框架规范
控制器
Model
Maison développement back-end tutoriel php Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Aug 24, 2021 pm 04:16 PM
php

Comment écrire du code PHP élégant et durable ? Cet article vous présentera les spécifications d'écriture de base et les spécifications du framework du code PHP. Les comprendre rendra votre code PHP plus élégant !

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Introduction

Lao Wang m'a dit aujourd'hui que son code est si mauvais que c'est comme un gâchis. Demandez-moi comment

améliorer la qualité de mon code et rendre mon code plus agréable à regarder et plus confortable, tout comme la façon

vos yeux s'illuminent lorsque vous voyez une fille aux longues jambes.

Alors moi : Vous faites ceci d'abord, puis ceci, et puis cela. . . . . .

Camarade de classe Lao Wang : Arrêtez de créer des ennuis, que se passe-t-il ?

D'accord, je vais commencer à faire semblant d'avoir 13 ans. . .

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Spécifications de base

Parlons d'abord des choses les plus élémentaires :

  • Utilisez la dénomination en casse chameau pour les noms de variables. N'utilisez pas le pinyin pour les mots que vous ne comprenez pas, recherchez plutôt dans le dictionnaire le mot correspondant.

  • Utilisez des traits de soulignement majuscules lorsque vous nommez des constantes. Par exemple : SYSTEM_EROOR = 50 000. SYSTEM_EROOR = 50000

  • 缩进使用Tab键,不要打一堆空格做缩进。

  • 类名首字母大写驼峰命名,需要见名知其意,注释说明这个类的功能。例如:

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • 方法名驼峰命名,方法行数尽量控制在80行左右,注释说明函数干嘛用的。

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • 花括号独占一行,例如:

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • foreach慎用引用,例如以下代码会有问题:

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

预期结果是输出: 2 4 6,实际结果是2 4 4, 至于为什么可 以看我之前的文章: PHP中&符号你真的了解吗?。 可以使用array_walk`方法避免这个问题, 示例:

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • 避免if, elese嵌套过深,很多嵌套可以通过提前终止来消除, 举个简单的例子:

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

建议使用第二种方式,不符合条件的直接返回,剩下的就是符号条件的,那么避免了在if里面写很多代码。

  • 多个if/else使用switch来替代,PHP8.0版本可以使用match更为简洁。

  • phpstorm中安装SonarLint插件。如果你写的代码出现虚线,说明不太理想,那么可以根据提示修改,相信有强迫症的同学一定会改,久而久之代码就很规范了。例如:

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

方法未使用,方法名不规范已经告诉你了,可以快捷修改,也可以自己修改。

框架规范

  • 前面说得都是比较基础的东西,接下来才是主要的内容。

  • 相信很多同学都用过常用的thinkphplaravelyii

  • Utilisez la touche Tab pour l'indentation, ne tapez pas beaucoup d'espaces pour l'indentation.

  • La première lettre du nom de la classe est en casse chameau. Vous devez connaître la signification en voyant le nom. Les commentaires expliquent les fonctions de cette classe. Par exemple :

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Nommez les noms de méthodes en cas de chameau. Essayez de contrôler le nombre de lignes de méthode à environ 80 lignes. Les commentaires expliquent à quoi sert la fonction.

  • Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • Les accolades occupent une ligne à elles seules, par exemple :

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • pour chaque utilisation, utilisez les guillemets avec prudence. Par exemple, le code suivant aura des problèmes :

  • Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Le résultat attendu est la sortie : 2 4 6, le résultat réel le résultat est 2 4 4 , expliquant pourquoi Jetez un oeil à mon article précédent : Comprenez-vous vraiment le symbole & en PHP ?. Vous pouvez utiliser la méthode array_walk` pour éviter ce problème, exemple : Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes🎜🎜🎜Évitez l'imbrication if, elese trop profondément. De nombreuses imbrications peuvent être éliminées par une résiliation anticipée. exemple Exemple simple : 🎜🎜🎜Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes🎜🎜Il est recommandé d'utiliser la deuxième méthode, qui renvoie directement si elle ne remplit pas les conditions, et le reste est une condition symbolique, vous évitez donc d'écrire beaucoup de code dans le if. 🎜🎜🎜🎜Utilisez switch pour remplacer plusieurs if/else. La version PHP8.0 peut utiliser match pour être plus concise. 🎜🎜🎜🎜Installez le plugin SonarLint dans phpstorm. S'il y a des lignes pointillées dans le code que vous écrivez, cela signifie qu'il n'est pas idéal, alors vous pouvez le modifier en fonction des invites. Je pense que les étudiants souffrant de trouble obsessionnel-compulsif le changeront certainement et qu'avec le temps, le code deviendra très standardisé. . Par exemple : 🎜🎜🎜🎜Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes🎜🎜La méthode n'est pas utilisée. Je vous ai dit que le nom de la méthode n'est pas standardisé. Vous pouvez le modifier rapidement ou le modifier vous-même. 🎜

🎜Spécification du cadre🎜🎜🎜🎜🎜Les éléments mentionnés ci-dessus sont relativement basiques, et le suivant est le contenu principal. 🎜🎜🎜🎜Je pense que de nombreux étudiants ont utilisé l'un des frameworks populaires tels que thinkphplaravelyii. 🎜🎜🎜🎜Ces frameworks sont tous basés sur l'architecture MVC. J'ai vu les codes de nombreuses personnes et écrire une logique métier dans le contrôleur ou dans le modèle est relativement mieux que d'écrire dans le contrôleur. En fait, ce n’est pas très favorable aux projets à grande échelle. 🎜🎜🎜🎜Ce qui suit utilise le framework Laravel comme exemple. 🎜🎜🎜🎜🎜Vérification des paramètres🎜🎜🎜🎜🎜L'API nécessite une vérification des paramètres, mais où est la manière la plus élégante d'écrire la vérification des paramètres ? De nombreuses personnes peuvent définir des règles dans le contrôleur, puis appeler la méthode de vérification. Ensuite, le code de vérification apparaîtra dans chaque API, comme ce que mon collègue a écrit. 🎜🎜🎜🎜🎜🎜🎜🎜🎜Ce code apparaîtra une fois dans chaque API N'est-il pas très verbeux Alors comment le résoudre ? 🎜🎜🎜🎜🎜🎜
  • Créez un répertoire Requsts dans le répertoire http de Laravel pour stocker la classe de vérification des paramètres demandée. Créez une classe BaseRequest : Requsts目录,用于存放请求的参数验证类。建立一个BaseRequest类:

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

比如登录需要参数验证再建立一个LoginRequest类继承这个BaseRequest

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

  • 使用的时候只要在Controller的方法中注入这个请求类即可。

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

这里获取请求参数的时候会对表单进行验证,否则参数验证失败会调用刚刚Request积累定义的方法抛Json异常,返回信息给客户端。

控制器

控制器的主要工作负载获取请求数据和返回内容,不应做更多的事情,那么可以定义一个Service层来处理业务逻辑。 所以我的控制器的代码只有一行。

  • 在Laravel的app目录下建立一个Services文件夹用于存放Service类,建立一个BaseService类:

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

然后建立一个UserService来处理用户相关的业务逻辑。

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

在UserController中注入这个UserService使用:

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Model

Model不建议写业务逻辑。Model主要是用来定义一些内容,不应该操纵数据。

Model的数据操纵应该放在Repository中,在Laravel的app目录下建立一个文件夹Repositories

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Par exemple, la connexion nécessite une vérification des paramètres, puis crée une classe LoginRequest pour hériter de cette BaseRequest. 1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

Lorsque vous l'utilisez, injectez simplement cette classe de requête dans la méthode Controller. 1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes Lorsque les paramètres de la requête sont obtenus ici, le formulaire sera vérifié. Sinon, si la vérification des paramètres échoue, la méthode qui vient d'être définie par l'accumulation de requêtes sera appelée pour lever une exception Json et renvoyer des informations au client.

Contrôleur

La charge de travail principale du contrôleur est d'obtenir les données de la demande et de renvoyer le contenu. Il ne devrait pas faire plus de choses, vous pouvez alors définir une couche de service à gérer. la logique métier. Mon contrôleur n'a donc qu'une seule ligne de code.

    Créez un dossier Services dans le répertoire d'applications de Laravel pour stocker la classe Service et créez une classe BaseService :
  • 1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes
Créez ensuite un UserService pour gérer la logique métier liée à l'utilisateur.

1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes1Comment écrire du code PHP élégant et attractif ? Une brève discussion sur la rédaction de normes

à Injectez ce UserService dans UserController et utilisez :


16 . png

Model

Le modèle n'est pas recommandé pour écrire une logique métier. Le modèle est principalement utilisé pour définir du contenu et ne doit pas manipuler les données. La manipulation des données du modèle doit être placée dans le référentiel et créer un dossier Repositories dans le répertoire des applications de Laravel.

🎜Définir BaseRepository :🎜🎜🎜🎜🎜Définir UserRepository pour les opérations liées aux données utilisateur, injecter UserModel dans la méthode de construction :🎜🎜🎜🎜🎜🎜Constants🎜🎜🎜Comment définir de nombreuses constantes dans le projet ? 🎜🎜Créez un répertoire Constant dans le répertoire de l'application, puis créez une classe Constant pour enregistrer ces constantes personnalisées. 🎜🎜L'avantage est : 🎜🎜🎜Les constantes personnalisées peuvent être gérées de manière centralisée. 🎜🎜Lors de la modification de la valeur constante, vous n'avez besoin de trouver la modification qu'une seule fois dans cette classe, et la mise à jour du code est facile à maintenir. 🎜🎜🎜🎜🎜🎜🎜Adresse originale : https://juejin.cn/post/6957290009682509854🎜🎜🎜Auteur : ClassmateLin🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo 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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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.

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

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 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,

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.

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