Table des matières
Spécifications de codage
Suggestions de codage
Maison développement back-end tutoriel php Normes de codage PHP et suggestions pour les débutants

Normes de codage PHP et suggestions pour les débutants

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

Si vous voulez être un excellent programmeur, de bonnes normes de codage sont très importantes. Alors, comment pouvez-vous écrire du bon code ? Dans cet article, nous vous donnerons quelques normes et suggestions de codage PHP.

Spécifications de codage

  • Les fichiers de code PHP doivent commencer par la balise

<?php //开头

// 不结尾
Copier après la connexion

  • Les fichiers de code PHP doivent être encodés en UTF-8 sans BOM.

例sublime, setting增加,"show_encoding" : true
Copier après la connexion

  • Le nombre de caractères par ligne ne doit pas dépasser 80 caractères

例,sublime
"word_wrap": "true",
"wrap_width": 80,
Copier après la connexion

  • Appuyez sur la touche 4 espaces

例,sublime
"tab_size": 4,
Copier après la connexion

  • Le code PHP devrait Définissez uniquement les classes (traits)/fonctions/constantes/autres opérations qui produiront des effets secondaires (tels que la génération d'une sortie de fichier et la modification des fichiers de configuration .ini, etc.), et vous ne pouvez en choisir qu'une.

例,
a.php
class A
{

}

b.php
function demo()
{

}

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

d.php
ini_set(&#39;some_vars&#39;, value);
Copier après la connexion

  • La dénomination des classes/traits/interfaces doit suivre la convention de dénomination des cas de chameau des StudlyCaps en commençant par un cas majuscule.

class StudlyCaps
{

}

trait StudlyCaps
{

}

Interface StudlyCaps
{

}
Copier après la connexion

  • Les constantes d'une classe doivent être en majuscules et séparées par des traits de soulignement.

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

const FOO_BAR = value;
Copier après la connexion

  • Le nom de la méthode (dans la classe/le trait) doit être conforme à la convention de dénomination des cas de chameau de style camelCase commençant avec des minuscules.

class StudlyCaps
{
    public function studlyCaps()
    {
        // coding...
    }
}
Copier après la connexion

  • Les noms de fonctions doivent être conformes à la convention de dénomination des traits de soulignement de style Snake_case.

function snake_case()
{
    // coding...
}
Copier après la connexion

  • Les noms de méthodes privées (privées) (dans la classe/le trait) doivent être conformes à la convention de dénomination du trait de soulignement minuscule de style _camelCase à commencer par le cas de chameau.

class StudlyCaps
{
    private function _studlyCaps()
    {
        // coding...
    }
}
Copier après la connexion

  • Le premier mot du nom de la méthode est un verbe.

class StudlyCaps
{
    public function doSomething()
    {
        // coding...
    }
}
Copier après la connexion

  • Les variables doivent être conformes à la convention de dénomination de style camelCase de la casse chameau commençant par une minuscule.

class StudlyCaps
{
    public function doSomething()
    {
        $someVariable = &#39;demo&#39;;
        // coding...
    }
}
Copier après la connexion

  • Lorsqu'une méthode/fonction a plusieurs paramètres, il doit y avoir un espace entre

class StudlyCaps
{
    public function doSomething($variableOne, $variableTwo)
    {
        // coding...
    }
}
Copier après la connexion

  • L'opérateur/expression doit avoir un espace

$a = $b + $c;
$a = $b . $c;
Copier après la connexion

  • Une ligne vide doit être insérée après chaque bloc de déclaration d'espace de noms et utiliser le bloc de déclaration.

namespace Standard;
// 空一行
use Test\TestClass;//use引入类
// 空一行
Copier après la connexion

  • L'accolade ouvrante de la classe "{ "Doit être écrite sur une ligne après la déclaration de la fonction, l'accolade fermante "} " doit également être écrit sur sa propre ligne après le corps de la fonction.

class StudlyCaps
{

}
Copier après la connexion

  • L'accolade ouvrante { de la méthode/fonction doit être écrite sur sa propre ligne après la déclaration de la fonction, et le accolade fermante} est également Il doit être écrit sur sa propre ligne après le corps de la fonction.

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

function snake_case()
{
    // coding...
}
Copier après la connexion

  • Les attributs et méthodes de la classe doivent ajouter des modificateurs d'accès (privé, protégé et public), le résumé et le final doivent être déclaré avant le modificateur d'accès, et static doit être déclaré après le modificateur d'accès.

abstract class StudlyCaps
{
	abstract public function studlyCaps();

	final public static function studlyCapsOne()
	{

	}
}
Copier après la connexion

  • Il doit y avoir un espace après le mot clé de la structure de contrôle, mais il ne doit pas y en avoir lors de l'appel d'une méthode ou fonction.

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><p>L'accolade ouvrante { de la structure de contrôle doit être écrite sur la même ligne que la déclaration, et l'accolade fermante } doit être écrit sur une ligne distincte après le corps principal. </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...
}
Copier après la connexion

  • Il ne doit y avoir aucun espace après la parenthèse gauche ouvrante et avant la parenthèse fermante droite de la structure de contrôle.

if ($valueOne === $valueTwo) {// 控制结构(右边和)左边不加空格
  // code...
}
Copier après la connexion

Suggestions de codage

  • sql est trop long

// 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;
Copier après la connexion

  • si et d'autres conditions de structure de contrôle sont trop longues

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

}
Copier après la connexion

  • méthode Ou les paramètres de la fonction sont supérieurs à trois nouvelles lignes

public function tooLangFunction(
      $valueOne   = '',
      $valueTwo   = '',
      $valueThree = '',
      $valueFour  = '',
      $valueFive  = '',
      $valueSix   = '')
{
    //coding...
}
Copier après la connexion

  • L'opération en chaîne est supérieure à deux

$this->nameTest->functionOne()
               ->functionTwo()
               ->functionThree();
Copier après la connexion

  • Après le tableau php5.4, utilisez []

$a = [
    'aaa' => 'aaa',
    'bbb' => 'bbb'
];
Copier après la connexion

  • Guillemets simples Guillemets multiples

    • Aucune variable dans la chaîne, guillemets simples

    • Il y a variables dans la chaîne, guillemets doubles

$str = 'str';
$arg = "$str";
Copier après la connexion

  • Déclarer une classe, une méthode ou une fonction et ajouter une description et un attribut description et auteur

/**
 * 类描述
 *
 * 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...
  }
Copier après la connexion

  • la méthode API fournit un exemple d'échantillon de test

/**
 * 成员方法名称.
 *
 * 成员方法描述
 *
 * @param  string $value 形参名称/描述
 *
 * @example domain/api/controller/action?argu1=111&argu2=222
 */
public function testFunction($value = '')
{
    // code...
}
Copier après la connexion

  • Utilisez try…catch…

try {

    // coding...

} catch (\Exception $e) {
  // coding...
}
Copier après la connexion

  • Appeler continuellement plusieurs méthodes ( plus de 3) en utilisant 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();
      }
  }

  ...
}
Copier après la connexion

  • Déclaration de copyright en haut du fichier

// +----------------------------------------------------------------------
// | Company Name  xx服务
// +----------------------------------------------------------------------
// | Copyright (c) 2017 http://domain All rights reserved.
// +----------------------------------------------------------------------
// | Author: name <email>
// +----------------------------------------------------------------------
Copier après la connexion

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

相关推荐:

怎样优化自己的JavaScript代码

PHP 代码的复用简单教程

PHP 代码规范

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Journalisation CakePHP Journalisation CakePHP Sep 10, 2024 pm 05:26 PM

Se connecter à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

See all articles