


Wie schreibe ich eleganten und attraktiven PHP-Code? Eine kurze Diskussion über das Schreiben von Standards
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!
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. . .
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键,不要打一堆空格做缩进。
类名首字母大写驼峰命名,需要见名知其意,注释说明这个类的功能。例如:
- 方法名驼峰命名,方法行数尽量控制在80行左右,注释说明函数干嘛用的。
- 花括号独占一行,例如:
- foreach慎用引用,例如以下代码会有问题:
预期结果是输出: 2 4 6
,实际结果是2 4 4
, 至于为什么可
以看我之前的文章: PHP中
&符号你真的了解吗?。 可以使用
array_walk`方法避免这个问题, 示例:
- 避免
if
,elese
嵌套过深,很多嵌套可以通过提前终止来消除, 举个简单的例子:
建议使用第二种方式,不符合条件的直接返回,剩下的就是符号条件的,那么避免了在if里面写很多代码。
多个
if/else
使用switch来替代,PHP8.0版本可以使用match
更为简洁。phpstorm
中安装SonarLint
插件。如果你写的代码出现虚线,说明不太理想,那么可以根据提示修改,相信有强迫症的同学一定会改,久而久之代码就很规范了。例如:
方法未使用,方法名不规范已经告诉你了,可以快捷修改,也可以自己修改。
框架规范
前面说得都是比较基础的东西,接下来才是主要的内容。
相信很多同学都用过常用的
thinkphp
丶laravel
丶yii
- 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:

Methodennamen in Kamel-Schreibweise benennen. Versuchen Sie, die Anzahl der Methodenzeilen auf etwa 80 Zeilen zu beschränken.
- foreach verwenden Sie Anführungszeichen mit Vorsicht. Beispielsweise wird der folgende Code Probleme haben:

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:

if
Verschachtelungen Beispiel Einfaches Beispiel: 🎜🎜🎜
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: 🎜🎜🎜🎜🎜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 thinkphp
丶laravel
丶yii
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
类:
Requsts
-Verzeichnis im http-Verzeichnis von Laravel, um die angeforderte Parameterüberprüfungsklasse zu speichern. Erstellen Sie eine BaseRequest
-Klasse: Requsts
目录,用于存放请求的参数验证类。建立一个BaseRequest
类:比如登录需要参数验证再建立一个LoginRequest
类继承这个BaseRequest
。
- 使用的时候只要在Controller的方法中注入这个请求类即可。
这里获取请求参数的时候会对表单进行验证,否则参数验证失败会调用刚刚Request积累定义的方法抛Json异常,返回信息给客户端。
控制器
控制器的主要工作负载获取请求数据和返回内容,不应做更多的事情,那么可以定义一个Service层来处理业务逻辑。 所以我的控制器的代码只有一行。
- 在Laravel的app目录下建立一个Services文件夹用于存放Service类,建立一个BaseService类:
然后建立一个UserService来处理用户相关的业务逻辑。
在UserController中注入这个UserService使用:
Model
Model不建议写业务逻辑。Model主要是用来定义一些内容,不应该操纵数据。
Model的数据操纵应该放在Repository中,在Laravel的app目录下建立一个文件夹Repositories
Zum Beispiel erfordert die Anmeldung eine Parameterüberprüfung und erstellt dann eine LoginRequest
-Klasse, um diese BaseRequest
zu erben.
Wenn Sie es verwenden, fügen Sie diese Anforderungsklasse einfach in die Controller-Methode ein.
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:
at Fügen Sie diesen UserService in UserController ein und verwenden Sie:
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.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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

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

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

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.

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

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