Heim >php教程 >php手册 >PHP-Programmierstilspezifikation, Sharing_php-Grundlagen

PHP-Programmierstilspezifikation, Sharing_php-Grundlagen

WBOY
WBOYOriginal
2016-05-16 08:59:542983Durchsuche

Hinweis: Diese Spezifikation wurde von EasyChen basierend auf der „C++ Development Specification“ der SINA Network Application Development Department, der „PHP4 Development Specification“ der Interactive Technology Department und der phpDocument-Spezifikation zusammengestellt. Ich denke, es ist sehr gut und für die PHP-Entwicklung geeignet. Es ist eine Referenz für jeden, der einen guten Programmierstil entwickeln muss.

Kapitel 1 Namenskonventionen

1.1 Variablen

1.1.1 Globale Variablen

Globale Variablen beginnen mit $g_, wie zum Beispiel $g_data_list.

1.1.2 Allgemeine Variablen

Im Allgemeinen werden Variablen mit Kleinbuchstaben benannt und Wörter durch Unterstriche getrennt.

Variablennamen sollten Substantive oder Adjektive + Substantive verwenden. Zum Beispiel $value, $new_value.

1.1.3 Temporäre Variablen

Verwenden Sie keine temporären Variablen wie $i, $j usw., die häufig in Schleifen für andere Zwecke verwendet werden.

1.2 Funktion

Funktionen werden mit Kleinbuchstaben benannt und Wörter werden durch Unterstriche getrennt.

Es wird empfohlen, bei der Benennung von Funktionen Verb + Substantiv zu verwenden, z. B. get_user_img.

Die Funktionen, die eine Reihe von Funktionen vervollständigen, werden in einer Datei abgelegt, und die Datei, in der die Funktionen gespeichert sind, heißt Funktionsname.func.php.

Klasse 1,3

Die

-Klasse verwendet die englische Großschreibung, um Wörter zu trennen, einschließlich des ersten Wortes, und der erste Buchstabe aller Wörter wird großgeschrieben, z. B. PageManager;

Stellen Sie in einer Klasse Methoden vor Attributdefinitionen und öffentliche Methoden vor spezielle Methoden ein

Im Allgemeinen entspricht eine Klasse einer Datei

Wenn einige Klassen eng miteinander verbunden sind, können sie in einer Datei gespeichert werden

Die Datei, in der die Klasse gespeichert ist, heißt ClassName.class.php.

1.4 Methode

Die Methode

verwendet die englische Großschreibung, um Wörter zu trennen, z. B. getCurrentPage();

Verwenden Sie keine ungewöhnlichen Abkürzungen, wie zum Beispiel where2go();

Wenn Sie häufig verwendete Abkürzungen verwenden, schreiben Sie nur den ersten Buchstaben groß, z. B. getHtml().

Kapitel 2 Formatregeln

2.1 Semantische Trennung Zwischen jeder Funktion und Methode sollten Leerzeilen verwendet werden;

Zeilenumbrüche zwischen eng verwandten Anweisungen in derselben Funktion sind in anderen Fällen nicht erforderlich.

2.2 Raumregeln

2.2.1 Leerzeichen müssen vor und nach logischen Operatoren hinzugefügt werden

Richtig



Code kopieren

Code kopieren

Der Code lautet wie folgt:$a==$b;$a ==$b;

Richtig

Code kopieren

Der Code lautet wie folgt:$a++; $a--; 🎜> Fehler
Code kopieren

Der Code lautet wie folgt:

$a ++; $a --; > Bemerkungen: Die Additions- und Subtraktionsoperatoren können keine Leerzeichen hinzufügen. 2.2.2 Beim Trennen mehrerer Parameter müssen Leerzeichen hinzugefügt werdenRichtig

Code kopieren


Der Code lautet wie folgt:

$g_pro , $g_user , g_show get_db_info ($host, $user, $passwd); Fehler



Code kopieren

Der Code lautet wie folgt:

$g_pro,$g_user,$g_show; get_db_info($host,$user,$passwd); 2.2.3 Nach dem Syntax-Schlüsselwort muss ein Leerzeichen hinzugefügt werden
Zum Beispiel: Wenn, für eine Weile, wechseln…..
Richtig

Code kopieren


Der Code lautet wie folgt:

für ($i = 0; $i < 10 ; $i++ ) Fehler
Code kopieren

Der Code lautet wie folgt:

Code kopieren

Der Code lautet wie folgt:

$my_name = 'file_' ; $my_name = "file_{$var1}"

Erreur

Copier le code Le code est le suivant :

$my_name = "file_'.$var1 ;
$mon_nom = "file_$var1"

2.4 Règles de parenthèses
Il n'est pas nécessaire d'ajouter des espaces après le nom de la fonction, et des espaces doivent être ajoutés après les mots-clés de syntaxe.
Correct

Copier le code Le code est le suivant :
pour ($i = 0 ; $i < 10 ; $i++ )
strlen($mon_nom);

Erreur

Copier le code Le code est le suivant :
pour($i = 0; $i < 10 ; $i++ )
strlen ($mon_nom);

2.5 Règles des accolades
Les accolades doivent correspondre aux parties supérieure et inférieure.

Correct

Copier le code Le code est le suivant :

if ($a)
{
$b = $a
}

Erreur

Copier le code Le code est le suivant :

if ($a){
$b = $a
}

2.6 Règles de définition des tableaux

Lors de la définition et de l'utilisation d'un tableau, des guillemets simples doivent être placés avant et après la valeur clé.
Code PHP :
Corrigé

Copier le code Le code est le suivant :

array( 'name' => ' ', 'genre' => '' );
$user_info['nom'];
Erreur

Copier le code Le code est le suivant :array( name => '', genre => ; '' );
$user_info[nom];



2.7 Règles SQL
Tous les mots-clés des instructions SQL intégrés dans PHP doivent être en majuscules

Les noms de tables et de champs doivent être entourés de guillemets (`) pour éviter les erreurs causées par des espaces dans les noms de champs ; . Une erreur s'est produite ;
La valeur des données est entourée de guillemets simples '' des deux côtés, et vous devez vous assurer que les guillemets simples dans la valeur des données sont échappés pour empêcher l'injection SQL.

Correct


Copier le code Le code est le suivant :$sql = "SELECT `user`.`name` FROM `user ` WHERE `id` = '$id' LIMIT 1";
Erreur

Copier le code Le code est le suivant :$sql = "select name.user from name which id = $id";
Chapitre 3 Règles de commentaires
3.1 Règles générales

N'écrivez pas de commentaires inutiles uniquement lorsque le code ne peut pas bien expliquer la logique, utilisez des commentaires pour la compléter ;
Considérez les commentaires comme faisant partie du programme, les commentaires sont écrits/maintenus lors de l'écriture/maintenance du code ;
les commentaires adoptent complètement les spécifications de PHPDocumentor pour faciliter la génération de documents au niveau de l'API.

3.2 Règles détaillées
Veuillez vous référer au manuel PHPDocumentor. Des exemples d’annotations pour chaque partie sont donnés ci-dessous.

3.2.1 Informations de copyright
Nom de l'annotation Informations de copyright
Exemple d'annotation :


// +- --- ----------------------------------------------- -+
// | phpDocumenteur |
// +---------------------------------- ------ ---------------+
// | Copyright (c) 2000-2003 Joshua Eichorn |
// | Email jeichorn@phpdoc.org |
// | Web http://www.phpdoc.org |
// +-------------------------- ------ ----------+
// | Ce fichier source est soumis à la licence PHP |
// +-- ------ -------------------------------------------- ------+
//

Remarque : utilisez // pour marquer les informations de copyright afin d'éviter tout conflit avec le DocBlock au niveau de la page de PHPDocumentor.

3.2.2 Exemple de commentaire d'en-tête de fichier

Commentaire d'en-tête de fichier de nom de commentaire
Démonstration de commentaire :

Code PHP :

Copier le code Le code est le suivant :

/**
* Toutes les représentations abstraites des balises en ligne sont dans ce fichier
* @package phpDocumentor
* @subpackage InlineTags
* @depuis un fichier séparé depuis la version 1.2
* @version $Id $
*/

Remarques
1) Les commentaires d'en-tête de fichier doivent indiquer le package et le sous-package auxquels il appartient
2) Ajoutez $ID à @version pour faciliter la gestion des fichiers à l'aide de CVS ;

3.2.3 Exemple d'annotation de classe
nom de l'annotation Annotation de classe
Exemple d'annotation :

Code PHP :

Copier le code Le code est le suivant :

/**
* Utilisez cet élément pour représenter une {@}balise en ligne} comme {@}link}
* @see parserStringWithInlineTags
* @package phpDocumentor
* @subpackage InlineTags
* @author Greg Castor
* @since 1.0rc1
* @version $Revision : 1.21.2.6 $
* @tutorial inlinetags.pkg
*/


3.2.4 Exemple d'annotation d'attribut de classe
Nom de l'annotation Annotation d'attribut de classe
Démonstration d'annotation :
Code PHP :

Copier le code Le code est le suivant :

/**
* Type d'élément
*
* Le type est utilisé par de nombreuses fonctions pour éviter les tracas de
*
* <br>* if get_class($blah) == ' parserBlah'<br>*
* toujours "inlinetag"
* @var string
*/
var $type = 'inlinetag';

3.2.5 Exemple d'annotation de méthode fonction/classe
Nom de l'annotation Annotation de méthode fonction/classe
Exemple d'annotation :
Code PHP :

Copier le code Le code est le suivant :

/**
* @return string toujours ''
* calcule la brève description d'un DocBlock
* @see parserStringWithInlineTags::getString()
* @see parserStringWithInlineTags::trimmedStrlen()
*/
fonction getString()
{
return '';
}
Stellungnahme:
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