Inhaltsverzeichnis
Einführung
Grundlegende Spezifikationen
框架规范
控制器
Model
Heim Backend-Entwicklung PHP-Tutorial Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Aug 24, 2021 pm 04:16 PM
php

Wie schreibe ich eleganten und langlebigen PHP-Code? Dieser Artikel führt Sie durch die grundlegenden Schreibspezifikationen und Framework-Spezifikationen von PHP-Code. Wenn Sie sie verstehen, wird Ihr PHP-Code eleganter!

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Einführung

Lao Wang hat mir heute erzählt, dass sein Code so schlecht ist, dass er wie ein Chaos ist. Fragen Sie mich, wie ich

die Qualität meines eigenen Codes verbessern und meinen Code optisch ansprechender und komfortabler gestalten kann, so wie

die Augen eines langbeinigen Mädchens leuchten.

Also ich: Du machst zuerst dies, dann dies und dann das. . . . . .

Klassenkamerad Lao Wang: Hör auf, Ärger zu machen, was zum Teufel ist da los?

Okay, ich fange mal an, so zu tun, als wäre ich 13. . .

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Grundlegende Spezifikationen

Lassen Sie uns zunächst über die grundlegendsten Dinge sprechen:

  • Verwenden Sie die Groß-/Kleinschreibung für Variablennamen. Verwenden Sie Pinyin nicht für Wörter, die Sie nicht verstehen, sondern schlagen Sie im Wörterbuch nach, um das entsprechende Wort zu finden.

  • Verwenden Sie bei der Benennung von Konstanten Großbuchstaben. Beispiel: SYSTEM_EROOR = 50000. SYSTEM_EROOR = 50000

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

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

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

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

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

框架规范

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

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

  • Verwenden Sie die Tabulatortaste zum Einrücken, geben Sie nicht viele Leerzeichen zum Einrücken ein.

  • Der erste Buchstabe des Klassennamens ist in Kamelschrift. Sie müssen die Bedeutung kennen, indem Sie den Namen sehen, der die Funktionen dieser Klasse erklärt. Zum Beispiel:

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Methodennamen in Kamel-Schreibweise benennen. Versuchen Sie, die Anzahl der Methodenzeilen auf etwa 80 Zeilen zu beschränken.

  • Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

  • Die geschweiften Klammern nehmen jeweils eine Zeile ein, zum Beispiel:

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

  • foreach verwenden Sie Anführungszeichen mit Vorsicht. Beispielsweise wird der folgende Code Probleme haben:

  • Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Das erwartete Ergebnis ist die Ausgabe: 2 4 6, die tatsächliche Ergebnis ist 2 4 4 , warum Schauen Sie sich meinen vorherigen Artikel an: Verstehen Sie das &-Symbol in PHP wirklich?. Sie können die Methode array_walk` verwenden, um dieses Problem zu vermeiden, Beispiel: Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards🎜🎜🎜Vermeiden Sie zu tiefe if Verschachtelungen Beispiel Einfaches Beispiel: 🎜🎜🎜Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards🎜🎜Es wird empfohlen, die zweite Methode zu verwenden, die direkt zurückkehrt, wenn sie die Bedingungen nicht erfüllt, und der Rest ist eine symbolische Bedingung, sodass Sie vermeiden, viel Code in das If zu schreiben. 🎜🎜🎜🎜Verwenden Sie den Schalter, um mehrere if/else zu ersetzen. Die PHP8.0-Version kann match verwenden, um prägnanter zu sein. 🎜🎜🎜🎜Installieren Sie das SonarLint-Plugin in phpstorm. Wenn der von Ihnen geschriebene Code gepunktete Linien enthält, bedeutet dies, dass er nicht ideal ist. Sie können ihn meiner Meinung nach entsprechend den Anweisungen ändern, und der Code wird mit der Zeit sehr standardisiert . Zum Beispiel: 🎜🎜🎜🎜Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards🎜🎜Die Methode wird nicht verwendet. Ich habe Ihnen gesagt, dass der Methodenname nicht standardisiert ist. Sie können ihn schnell ändern oder selbst ändern. 🎜

🎜Rahmenspezifikation🎜🎜🎜🎜🎜Die oben genannten Dinge sind relativ einfach, und das nächste ist der Hauptinhalt. 🎜🎜🎜🎜Ich glaube, dass viele Studenten eines der beliebten Frameworks wie thinkphplaravelyii verwendet haben. 🎜🎜🎜🎜Diese Frameworks basieren alle auf der MVC-Architektur und das Schreiben im Modell ist relativ besser als das Schreiben im Controller. Tatsächlich ist es für Großprojekte nicht sehr freundlich. 🎜🎜🎜🎜Im Folgenden wird das Laravel-Framework als Beispiel verwendet. 🎜🎜🎜🎜🎜Parameterüberprüfung🎜🎜🎜🎜🎜API erfordert Parameterüberprüfung, aber wo lässt sich die Parameterüberprüfung am elegantesten schreiben? Viele Leute definieren möglicherweise Regeln im Controller und rufen dann die Verifizierungsmethode auf. Dann erscheint der Verifizierungscode in jeder API, wie zum Beispiel das, was mein Kollege geschrieben hat. 🎜🎜🎜🎜🎜🎜🎜🎜🎜Dieser Code erscheint einmal in jeder API. Wie kann man das Problem lösen? 🎜🎜🎜🎜🎜🎜
  • Erstellen Sie ein Requsts-Verzeichnis im http-Verzeichnis von Laravel, um die angeforderte Parameterüberprüfungsklasse zu speichern. Erstellen Sie eine BaseRequest-Klasse: Requsts目录,用于存放请求的参数验证类。建立一个BaseRequest类:

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

控制器

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

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

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

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

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

在UserController中注入这个UserService使用:

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Model

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

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

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Zum Beispiel erfordert die Anmeldung eine Parameterüberprüfung und erstellt dann eine LoginRequest-Klasse, um diese BaseRequest zu erben. 1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

Wenn Sie es verwenden, fügen Sie diese Anforderungsklasse einfach in die Controller-Methode ein. 1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards Wenn die Anforderungsparameter hier abgerufen werden, wird das Formular überprüft. Andernfalls wird die gerade durch die Anforderungsakkumulation definierte Methode aufgerufen und eine Json-Ausnahme ausgelöst und die Informationen werden an den Client zurückgegeben.

Controller

Die Hauptarbeitslast des Controllers besteht darin, die Anforderungsdaten abzurufen und Inhalte zurückzugeben. Sollte er nicht mehr tun, können Sie eine zu verarbeitende Serviceschicht definieren die Geschäftslogik. Mein Controller hat also nur eine Codezeile.

    Erstellen Sie einen Services-Ordner im App-Verzeichnis von Laravel, um die Service-Klasse zu speichern, und erstellen Sie eine BaseService-Klasse:
  • 1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards
Dann erstellen Sie einen UserService, um benutzerbezogene Geschäftslogik zu verarbeiten.

1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards1Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards

at Fügen Sie diesen UserService in UserController ein und verwenden Sie:


16 .png

Model

Model wird nicht zum Schreiben von Geschäftslogik empfohlen. Das Modell wird hauptsächlich zum Definieren einiger Inhalte verwendet und sollte keine Daten manipulieren. Die Datenmanipulation des Modells sollte im Repository abgelegt werden und im Laravel-App-Verzeichnis einen Ordner Repositories erstellen.

🎜BaseRepository definieren:🎜🎜🎜🎜🎜UserRepository für benutzerdatenbezogene Vorgänge definieren, UserModel in die Konstruktionsmethode einfügen:🎜🎜🎜🎜🎜🎜Konstanten🎜🎜🎜Wie definiere ich viele Konstanten im Projekt? 🎜🎜Erstellen Sie ein Konstantenverzeichnis im App-Verzeichnis und erstellen Sie dann eine Konstantenklasse, um diese benutzerdefinierten Konstanten zu speichern. 🎜🎜Der Vorteil ist: 🎜🎜🎜Benutzerdefinierte Konstanten können zentral verwaltet werden. 🎜🎜Wenn Sie den konstanten Wert ändern, müssen Sie die Änderung nur einmal in dieser Klasse finden. Die Codeaktualisierung ist einfach zu warten. 🎜🎜🎜🎜🎜🎜🎜Ursprüngliche Adresse: https://juejin.cn/post/6957290009682509854🎜🎜🎜Autor: ClassmateLin🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles