Inhaltsverzeichnis
Codierungsspezifikationen
Heim Backend-Entwicklung PHP-Tutorial PHP-Codierungsstandards und Vorschläge für Neulinge

PHP-Codierungsstandards und Vorschläge für Neulinge

Dec 05, 2017 am 11:14 AM
php 建议 规范

Wenn Sie ein exzellenter Programmierer sein wollen, sind gute Codierungsstandards sehr wichtig. Wie können Sie also guten Code schreiben? In diesem Artikel geben wir Ihnen einige PHP-Codierungsstandards und Vorschläge.

Codierungsspezifikationen

  • PHP-Codedateien müssen mit dem

<?php //开头

// 不结尾
Nach dem Login kopieren

  • PHP-Codedateien müssen in UTF-8 ohne BOM codiert werden.

例sublime, setting增加,"show_encoding" : true
Nach dem Login kopieren

  • Die Anzahl der Zeichen pro Zeile sollte 80 Zeichen nicht überschreiten

例,sublime
"word_wrap": "true",
"wrap_width": 80,
Nach dem Login kopieren

  • Taste 4 Leerzeichen antippen

例,sublime
"tab_size": 4,
Nach dem Login kopieren

  • Der PHP-Code sollte Definieren Sie nur Klassen (Merkmale)/Funktionen/Konstanten/andere Vorgänge, die Nebenwirkungen erzeugen (z. B. das Generieren einer Dateiausgabe und das Ändern von .ini-Konfigurationsdateien usw.), und Sie können nur eine auswählen.

例,
a.php
class A
{

}

b.php
function demo()
{

}

c.php
define(&#39;A&#39;, value);

d.php
ini_set(&#39;some_vars&#39;, value);
Nach dem Login kopieren

  • Die Benennung von Klassen/Eigenschaften/Schnittstellen muss der Namenskonvention von StudlyCaps folgen, beginnend mit einem Großbuchstaben.

class StudlyCaps
{

}

trait StudlyCaps
{

}

Interface StudlyCaps
{

}
Nach dem Login kopieren

  • Konstanten in einer Klasse müssen großgeschrieben und durch Unterstriche getrennt werden.

define(&#39;FOO_BAR&#39;, &#39;something more&#39;);

const FOO_BAR = value;
Nach dem Login kopieren

  • Der Name der Methode (in Klasse/Merkmal) muss der Namenskonvention für Groß- und Kleinschreibung im CamelCase-Stil entsprechen mit Kleinbuchstaben.

class StudlyCaps
{
    public function studlyCaps()
    {
        // coding...
    }
}
Nach dem Login kopieren

  • Funktionsnamen müssen der Namenskonvention für Unterstriche im Snake_case-Stil entsprechen.

function snake_case()
{
    // coding...
}
Nach dem Login kopieren

  • Private (private) Methodennamen (in Klasse/Merkmal) müssen der Namenskonvention im _camelCase-Stil mit führenden Unterstrichen und Kleinbuchstaben entsprechen Beginnend mit dem Kamelfall.

class StudlyCaps
{
    private function _studlyCaps()
    {
        // coding...
    }
}
Nach dem Login kopieren

  • Das erste Wort des Methodennamens ist ein Verb.

class StudlyCaps
{
    public function doSomething()
    {
        // coding...
    }
}
Nach dem Login kopieren

  • Variablen müssen der Namenskonvention im CamelCase-Stil entsprechen, bei der mit Kleinbuchstaben begonnen wird.

class StudlyCaps
{
    public function doSomething()
    {
        $someVariable = &#39;demo&#39;;
        // coding...
    }
}
Nach dem Login kopieren

  • Wenn eine Methode/Funktion mehrere Parameter hat, muss zwischen

  • <🎜 ein Leerzeichen stehen >
class StudlyCaps
{
    public function doSomething($variableOne, $variableTwo)
    {
        // coding...
    }
}
Nach dem Login kopieren

  • Der Operator/Ausdruck muss ein Leerzeichen enthalten

$a = $b + $c;
$a = $b . $c;
Nach dem Login kopieren

  • Nach jedem Namespace-Deklarationsblock und jedem Use-Deklarationsblock muss eine Leerzeile eingefügt werden.

namespace Standard;
// 空一行
use Test\TestClass;//use引入类
// 空一行
Nach dem Login kopieren

  • Die öffnende Klammer der Klasse „{ „Muss in einer Zeile nach der Funktionsdeklaration, der schließenden Klammer, geschrieben werden „}“ muss ebenfalls in einer eigenen Zeile nach dem Funktionskörper geschrieben werden.

class StudlyCaps
{

}
Nach dem Login kopieren

  • Die öffnende Klammer { der Methode/Funktion muss in einer eigenen Zeile nach der Funktionsdeklaration geschrieben werden, und die schließende geschweifte Klammer} ist ebenfalls Es muss in einer eigenen Zeile nach dem Funktionskörper geschrieben werden.

class StudlyCaps
{
    public function studlyCaps()
    {
        // coding...
    }
}

function snake_case()
{
    // coding...
}
Nach dem Login kopieren

  • Die Attribute und Methoden der Klasse müssen Zugriffsmodifikatoren (privat, geschützt und öffentlich), abstrakt und endgültig hinzufügen muss vor dem Zugriffsmodifikator deklariert werden, und static muss nach dem Zugriffsmodifikator deklariert werden.

abstract class StudlyCaps
{
	abstract public function studlyCaps();

	final public static function studlyCapsOne()
	{

	}
}
Nach dem Login kopieren

  • Nach dem Schlüsselwort der Kontrollstruktur muss ein Leerzeichen stehen, beim Aufruf einer Methode darf es jedoch nicht sein oder Funktion.

if ($valueOne === $valueTwo) {
  // code...
}

switch ($valueThree) {
  case &#39;value&#39;:
    // code...
    break;

  default:
    // code...
    break;
}

do {
  // code...
} while ($valueFour <= 10);

while ($valueFive <= 10) {
  // code...
}

for ($i = 0; $i < $valueSix; $i++) {
  // code...
}

$demo = new Demo()
$demo->doSomething();

do_something(); </p>
<p></p>
<ul class=" list-paddingleft-2"><li>Die öffnende Klammer { der Kontrollstruktur muss in derselben Zeile wie die Deklaration und die schließende Klammer geschrieben werden } muss in einer eigenen Zeile nach dem Hauptteil geschrieben werden. <p></p>
</li></ul>
<pre class="brush:php;toolbar:false">if ($valueOne === $valueTwo) {
  // code...
}

switch ($valueThree) {
  case 'value':
    // code...
    break;

  default:
    // code...
    break;
}

do {
  // code...
} while ($valueFour <= 10);

while ($valueFive <= 10) {
  // code...
}

for ($i = 0; $i < $valueSix; $i++) {
  // code...
}
Nach dem Login kopieren

  • Nach der öffnenden linken Klammer und vor der schließenden rechten Klammer der Kontrollstruktur dürfen keine Leerzeichen stehen.

if ($valueOne === $valueTwo) {// 控制结构(右边和)左边不加空格
  // code...
}
Nach dem Login kopieren

Codierungsvorschläge

  • SQL ist zu lang

// heredoc语法
$sql = <<<SQL
SELECT delivery_id
FROM d_test
WHERE delivery_id
IN (123,234)
GROUP BY delivery_id
HAVING SUM(send_number) <= 0;
SQL;
Nach dem Login kopieren

  • if und andere Kontrollstrukturbedingungen sind zu lang

if ($a > 0
    && $b > 0
    && $c > 0
    && $d > 0
    && $e > 0) {

}
Nach dem Login kopieren

  • Methode Oder die Funktionsparameter sind mehr als drei Zeilenumbrüche

public function tooLangFunction(
      $valueOne   = '',
      $valueTwo   = '',
      $valueThree = '',
      $valueFour  = '',
      $valueFive  = '',
      $valueSix   = '')
{
    //coding...
}
Nach dem Login kopieren

  • Die Kettenoperation beträgt mehr als zwei

$this->nameTest->functionOne()
               ->functionTwo()
               ->functionThree();
Nach dem Login kopieren

  • Verwenden Sie nach Array php5.4 []

$a = [
    'aaa' => 'aaa',
    'bbb' => 'bbb'
];
Nach dem Login kopieren

  • Einfache Anführungszeichen Mehrere Anführungszeichen

    • Keine Variablen in der Zeichenfolge, einfache Anführungszeichen

    • Es gibt Variablen in der Zeichenfolge, doppelte Anführungszeichen

$str = 'str';
$arg = "$str";
Nach dem Login kopieren

  • Deklarieren Sie eine Klasse, Methode oder Funktion und fügen Sie eine Beschreibung und ein Attribut hinzu Beschreibung & Autor

/**
 * 类描述
 *
 * desc
 */
class StandardExample
{
  /**
   *  常量描述.
   *
   * @var string
   */
  const THIS_IS_A_CONST = '';

  /**
   * 属性描述.
   *
   * @var string
   */
  public $nameTest = '';

  /**
   * 构造函数.
   *
   * 构造函数描述
   * @author name <email>
   * @param  string $value 形参名称/描述
   * @return 返回值类型        返回值描述
   * 返回值类型:string,array,object,mixed(多种,不确定的),void(无返回值)
   */
  public function __construct($value = '')
  {
    // coding...
  }
Nach dem Login kopieren

  • API-Methode liefert Testbeispielbeispiel

/**
 * 成员方法名称.
 *
 * 成员方法描述
 *
 * @param  string $value 形参名称/描述
 *
 * @example domain/api/controller/action?argu1=111&argu2=222
 */
public function testFunction($value = '')
{
    // code...
}
Nach dem Login kopieren

  • Verwenden Sie try…catch…

try {

    // coding...

} catch (\Exception $e) {
  // coding...
}
Nach dem Login kopieren

  • Kontinuierlich mehrere Methoden aufrufen ( mehr als 3) mit foreach

// 改写doSome为doSomething
class StandardExample
{
  /**
   * 方法列表
   *
   * @var array
   */
  private $_functionList = [];

  public function __construct($functionList = array())
  {
    $this->_functionList = $value;
  }

  public function doSome()
  {
    $this->functionOne();
    $this->functionTwo();
    $this->functionThree();
    $this->functionFour();
  }

  public function doSomething()
  {
      foreach($this->_functionList as $function) {
          $this->$function();
      }
  }

  ...
}
Nach dem Login kopieren

  • Urheberrechtserklärung oben in der Datei

// +----------------------------------------------------------------------
// | Company Name  xx服务
// +----------------------------------------------------------------------
// | Copyright (c) 2017 http://domain All rights reserved.
// +----------------------------------------------------------------------
// | Author: name <email>
// +----------------------------------------------------------------------
Nach dem Login kopieren

以上内容就给新手程序员的一些编写代码的规范及建议,希望能帮助到大家。

相关推荐:

怎样优化自己的JavaScript代码

PHP 代码的复用简单教程

PHP 代码规范

Das obige ist der detaillierte Inhalt vonPHP-Codierungsstandards und Vorschläge für Neulinge. 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ß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

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

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

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.

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