Heim Backend-Entwicklung PHP-Problem Verstehen Sie die Spezifikation des PHP-Codierungsstils wirklich?

Verstehen Sie die Spezifikation des PHP-Codierungsstils wirklich?

Aug 27, 2019 pm 06:01 PM
编码规范

Aufgrund der Flexibilität von PHP achten viele Leute beim Schreiben von Code nicht auf eine gute Codespezifikation, wodurch der bereits flexible PHP-Code chaotisch aussieht. Tatsächlich waren PSR-1 und PSR-2 in der PSR-Spezifikation definiert. Es gibt einige Spezifikationen in der PHP-Codierung. Solange wir uns an diese Spezifikationen halten, können wir sehr schönen und ordentlichen Code schreiben, auch wenn wir eine flexible Skriptsprache verwenden. Werfen wir zunächst einen Blick auf die bestandenen PSR-Spezifikationen und erläutern wir dann kurz einige spezifische Anforderungen der PSR-1- und PSR-2-Spezifikationen

Bestandene PSR:

Verstehen Sie die Spezifikation des PHP-Codierungsstils wirklich?

PSR-1-Grundcodierungsspezifikation:

1 . Tags öffnen und schließen
Zunächst muss der PHP-Code mit dem Tag

2. Nebenwirkungen
PHP-Dateien deklarieren entweder Klassen, Schnittstellen, Funktionen usw. oder führen logische Operationen aus (z wie das Lesen und Schreiben von Dateien oder das Senden von Ausgaben an den Browser), aber nicht beides.

3. Benennung
Die Benennung von Klassen muss der Kamel-Kasten-Namenskonvention entsprechen, beginnend mit einem Großbuchstaben. Mit anderen Worten: Klassennamen sollten mit einem Großbuchstaben beginnen. Es gibt keine zwingende Benennung der Eigenschaften, diese sollten jedoch einheitlich sein. Methodennamen müssen der Namenskonvention „camelCase“ entsprechen und mit Kleinbuchstaben beginnen. Alle Buchstaben in Klassenkonstanten müssen großgeschrieben werden und Wörter werden durch Unterstriche getrennt.

PSR2-Codierungsstil-Spezifikation:

1. PSR-1 erfordert, dass PHP-Code mit -Tag, sondern mit einer Leerzeile enden sollten.

2. Nach der Namespace-Deklaration sollte eine Leerzeile eingefügt werden, und nach dem Verwendungsdeklarationsblock sollte auch eine Leerzeile stehen. Machen Sie nicht mehrere Use-Anweisungen in derselben Codezeile.

3. Der Anfang und das Ende der Klasse
Das Klassenschlüsselwort, der Klassenname und die Schlüsselwörter „extends“ und „implements“ müssen in derselben Zeile stehen. Wenn eine Klasse mehrere Schnittstellen implementiert, können die Schnittstellennamen in derselben Zeile der Klassendeklaration stehen oder separate Zeilen belegen. Wenn Sie diese Schnittstellennamen in mehreren Zeilen platzieren möchten, muss der erste Schnittstellenname in einer eigenen Zeile stehen und darf nicht auf das Schlüsselwort „implements“ folgen. Die öffnende geschweifte Klammer ({) einer Klasse sollte in einer eigenen Zeile nach der Funktionsdeklaration geschrieben werden, und die schließende geschweifte Klammer (}) sollte ebenfalls in einer eigenen Zeile nach dem Klassenkörper geschrieben werden. Das heißt, eine Klassendeklaration würde so aussehen:

class EarthGame extends Game implements
    Playable,   
    Savable
{    
    //类体
}
Nach dem Login kopieren

Sie können den Klassennamen auch in dieselbe Zeile wie die Klassendeklaration einfügen.

class EarthGame extends Game implements Playble, Savable
{     
    //类体
}
Nach dem Login kopieren

4. Attributdeklaration
Jedes Attribut muss einen Zugriffsmodifikator haben (öffentlich, privat oder geschützt). Attribute können nicht mit dem Schlüsselwort var deklariert werden. Die Spezifikation von Attributnamen wird bereits in PSR-1 behandelt: Sie können Unterstriche, CamelCase-Benennungen in Kleinbuchstaben oder CamelCase-Benennungen in Großbuchstaben verwenden, sollten jedoch konsistent bleiben. (Ich persönlich empfehle die Verwendung von Kleinbuchstaben für Attribute)

5. Der Anfang und das Ende der Methode
Alle Methoden müssen Zugriffsmodifikatoren haben (öffentlich, privat oder geschützt). Der Zugriffsmodifikator muss nach „abstract“ oder „final“ und vor „static“ stehen. Methodenparameter mit Standardwerten sollten am Ende der Parameterliste platziert werden.

Einzeilige Deklaration
Die öffnende geschweifte Klammer ({) der Methode sollte in einer eigenen Zeile nach dem Methodennamen geschrieben werden, und die schließende geschweifte Klammer (}) sollte ebenfalls eigenständig geschrieben werden Zeile nach dem Methodenkörper (direkt im Anschluss an die Methode nach dem Code). Methodenparameterlisten sollten nicht mit einem Leerzeichen beginnen oder enden (d. h. sie sollten auf die sie umgebenden Klammern folgen). Für jeden Parameter sollte nach dem Parameternamen (oder Standardwert) ein Komma und nach dem Komma ein Leerzeichen stehen. Das mag kompliziert klingen, wie unten gezeigt:

final public static function generateTile(int $diamondCount, bool $polluted = false)
{
   //方法体
 }
Nach dem Login kopieren

Mehrzeilige Deklaration
Eine einzeilige Methodendeklaration ist nicht praktikabel, wenn die Methode viele Parameter hat. An dieser Stelle können wir die Parameterliste aufteilen, sodass sich jeder Parameter (einschließlich Typ, Parametervariable, Standardwert und Komma) in einer separaten eingerückten Zeile befindet. In diesem Fall sollte die schließende Klammer in der Zeile nach der Parameterliste platziert werden, ausgerichtet am Anfang der Methodendeklaration. Die öffnende geschweifte Klammer ({) sollte der schließenden Klammer in derselben Zeile folgen, getrennt durch ein Leerzeichen. Der Methodenkörper sollte in einer neuen Zeile beginnen. Auch dies mag kompliziert klingen, aber das folgende Beispiel soll Ihnen helfen, diese Regel zu verstehen.

public function __construct(
    int $size,
    string $name,
    bool $warparound = false,
    bool $aliens = false
) {  
    //方法体
   }
Nach dem Login kopieren

6. Zeilen und Einrückungen
Der Code sollte mit 4 Leerzeichen anstelle von Tabulatoren eingerückt werden. Wir können die Editoreinstellungen überprüfen und festlegen, dass beim Drücken der Tabulatortaste 4 Leerzeichen anstelle von Tabulatoren verwendet werden. Jede Codezeile sollte nicht länger als 120 Zeichen sein.

7、方法与函数调用
方法名称和开始圆括号之间不能有空格。方法调用中的参数列表的规则与方法声明中的参数列表规则相同。换言之,对于单行调用,开始圆括号后或结束圆括号前不能有空格。每个参数之后应该紧跟一个逗号,下一个参数前应该有一个空格。如果需要使用多行代码进行方法调用,那么每个参数应该自成一行并缩进,而且结束圆括号也应该自成一行。

$earthGanme = new EarthGame(   
   5,
   'earth', 
   true,
   true
);
$earthGame::generateTile(5, true);
Nach dem Login kopieren

8、流程控制
流程控制关键字(if、for、while等)后面必须紧跟一个空格。但是,开始圆括号后不能有空格。同样,结束圆括号前不能有空格。因此内容应该紧贴在括号内的。与类和(单行)函数声明相比,流程控制代码的开始花括号应该与结束圆括号在同一行。结束花括号应该自成一行。以下是一个简单的示例。

$title = [];for ($x = 0; $x < $diamondCount; $x++) {    if ($polluted) {
        $title[] = new PollutionDecorator(new DiamondDecorator(new Plains()));
    } else {
        $title[] = new DiamondDecorator(new Plains());
    }
}
Nach dem Login kopieren

想了解更多相关问题请访问PHP中文网:PHP视频教程

Das obige ist der detaillierte Inhalt vonVerstehen Sie die Spezifikation des PHP-Codierungsstils wirklich?. 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 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen 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)

Geben Sie Tipps zum Umgang mit dem Problem der in Oracle importierten chinesischen verstümmelten Zeichen Geben Sie Tipps zum Umgang mit dem Problem der in Oracle importierten chinesischen verstümmelten Zeichen Mar 09, 2024 pm 10:03 PM

Tipps zum Umgang mit in Oracle importierten chinesischen verstümmelten Zeichen Während des Datenimports mit der Oracle-Datenbank stoßen wir häufig auf verstümmelte chinesische Daten. Dies kann auf Zeichensatzkonflikte, Probleme bei der Codierung der Datenquelle oder Fehler bei der Datenbankkonfiguration zurückzuführen sein. Um dieses Problem zu lösen, werden in diesem Artikel einige Tipps zum Umgang mit dem Problem des in Oracle importierten chinesischen verstümmelten Zeichens gegeben, damit jeder problemlos chinesische Daten in den tatsächlichen Betrieb importieren kann. 1. Überprüfen Sie den Datenbankzeichensatz, bevor Sie sich mit dem verstümmelten chinesischen Problem befassen

Hinweise zur Python-Entwicklung: Vermeiden Sie häufige Codierungsfehler Hinweise zur Python-Entwicklung: Vermeiden Sie häufige Codierungsfehler Nov 22, 2023 pm 05:18 PM

Python ist eine beliebte Programmiersprache, die im Bereich der Softwareentwicklung immer beliebter wird. Aufgrund der Eigenschaften der Python-Sprache treten jedoch manchmal einige Codierungsfehler auf. In diesem Artikel werden einige häufige Python-Codierungsfehler und Methoden zur Vermeidung dieser Fehler vorgestellt, in der Hoffnung, Entwicklern dabei zu helfen, besseren Python-Code zu schreiben. Verwenden Sie die entsprechende Kodierungsmethode. Python unterstützt mehrere Kodierungsmethoden wie UTF-8, UTF-16, GB2312 usw. Stellen Sie beim Schreiben von Code sicher, dass Sie das Richtige auswählen

Detaillierte Erläuterung der Codierungsspezifikationen für Go-Sprachkommentare Detaillierte Erläuterung der Codierungsspezifikationen für Go-Sprachkommentare Mar 23, 2024 pm 09:54 PM

Ausführliche Erläuterung der Codierungsspezifikationen für Kommentare in der Go-Sprache. Beim Programmieren sind Kommentare eine sehr wichtige Codierungsspezifikation, die anderen Entwicklern helfen kann, die Bedeutung und Logik des Codes zu verstehen. Gerade für die Teamentwicklung können standardisierte Kommentare die Lesbarkeit und Wartbarkeit des Codes verbessern. In diesem Artikel werden die Kommentarcodierungsspezifikationen in der Go-Sprache ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um zu zeigen, wie Kommentare auf standardisierte Weise geschrieben werden. 1. Einzeilige Kommentare In der Go-Sprache beginnen einzeilige Kommentare mit // und werden vom Kommentarinhalt gefolgt. Einzeilige Kommentare werden hauptsächlich zum Kommentieren einer bestimmten Codezeile verwendet.

Handgeschriebene PHP API Framework (1) PSR-Spezifikation Handgeschriebene PHP API Framework (1) PSR-Spezifikation Feb 10, 2023 am 10:31 AM

In diesem Artikel geht es vor allem um Codierungsstandards. Interessierten Freunden wird außerdem empfohlen, einen Blick darauf zu werfen . .

Diskussion über die zugrunde liegenden Entwicklungsprinzipien von PHP: Codierungsstandards und Best Practices Diskussion über die zugrunde liegenden Entwicklungsprinzipien von PHP: Codierungsstandards und Best Practices Sep 08, 2023 pm 12:37 PM

Diskussion über die zugrunde liegenden Entwicklungsprinzipien von PHP: Codierungsstandards und Best Practices Einführung: PHP ist eine sehr beliebte serverseitige Programmiersprache und ihre zugrunde liegenden Entwicklungsprinzipien sind für Entwickler sehr wichtig. Dieser Artikel befasst sich mit den Codierungsstandards und Best Practices für die zugrunde liegende PHP-Entwicklung und vertieft das Verständnis anhand von Codebeispielen. 1. Codierungsstandards und einheitlicher Codestil Bei der zugrunde liegenden Entwicklung von PHP ist es sehr wichtig, die Einheit des Codestils beizubehalten, was die Lesbarkeit und Wartbarkeit des Codes verbessern kann. Verwenden Sie eine allgemeine Spezifikation für den Codierungsstil, z. B. PSR-2.

C++-Entwicklungshinweise: Vermeiden Sie Standardprobleme beim Codieren in C++-Code C++-Entwicklungshinweise: Vermeiden Sie Standardprobleme beim Codieren in C++-Code Nov 22, 2023 am 08:35 AM

Bei der Entwicklung in C++ müssen Entwickler neben der Fokussierung auf Themen wie Funktionsimplementierung und Leistungsoptimierung auch auf die Codierungsspezifikationen des Codes achten. Gute Codierungspraktiken verbessern nicht nur die Lesbarkeit und Wartbarkeit des Codes, sondern tragen auch dazu bei, Fehler zu reduzieren und die Codekonsistenz zu erhöhen. In diesem Artikel werden einige allgemeine Überlegungen zur C++-Entwicklung vorgestellt, um Entwicklern dabei zu helfen, Probleme bei der Codierung von Standards zu vermeiden. Verwenden Sie aussagekräftige Namen: Variablen, Funktionen und Klassen sollten so benannt werden, dass sie ihren Zweck und ihre Funktionalität genau widerspiegeln. Vermeiden Sie die Verwendung einzelner Buchstaben oder bedeutungsloser Abkürzungen als Namen

Best Practices für Python: Ein Leitfaden für sichere Codierungspraktiken Best Practices für Python: Ein Leitfaden für sichere Codierungspraktiken Jun 30, 2023 pm 12:25 PM

Einführung in Pythons Best Practices für sichere Codierungsspezifikationen Mit der rasanten Entwicklung des Netzwerks und der Popularität des Internets ist sichere Codierung zu einem entscheidenden Glied in der Softwareentwicklung geworden. Dabei müssen Entwickler einige Best Practices anwenden, um sicherzustellen, dass der von ihnen geschriebene Code sicher ist. Python ist eine beliebte Programmiersprache, die häufig für die Entwicklung von Webanwendungen und Systemen verwendet wird. Bei Python-Anwendungen müssen Entwickler auf einige allgemeine Sicherheitsprobleme achten und einige sichere Codierungspraktiken befolgen, um potenzielle Probleme zu vermeiden

Teilen Sie eine Reihe von Go-Codierungsstandards! Willkommen zum Sammeln! Teilen Sie eine Reihe von Go-Codierungsstandards! Willkommen zum Sammeln! Dec 09, 2022 pm 05:08 PM

Vor kurzem habe ich im Projekt viele Go-Sprachcodes überprüft. Es ist notwendig, die Codespezifikationen zusammenzufassen, die als Notizdatensatz betrachtet werden können. Teilen Sie es mit allen, willkommen zum Sammeln und Lernen!

See all articles