Heim > Artikel > Backend-Entwicklung > PHP-Codierungsstandards und Vorschläge für Neulinge
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.
PHP-Codedateien müssen mit dem
<?php //开头 // 不结尾
PHP-Codedateien müssen in UTF-8 ohne BOM codiert werden.
例sublime, setting增加,"show_encoding" : true
Die Anzahl der Zeichen pro Zeile sollte 80 Zeichen nicht überschreiten
例,sublime "word_wrap": "true", "wrap_width": 80,
Taste 4 Leerzeichen antippen
例,sublime "tab_size": 4,
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('A', value); d.php ini_set('some_vars', value);
Die Benennung von Klassen/Eigenschaften/Schnittstellen muss der Namenskonvention von StudlyCaps folgen, beginnend mit einem Großbuchstaben.
class StudlyCaps { } trait StudlyCaps { } Interface StudlyCaps { }
Konstanten in einer Klasse müssen großgeschrieben und durch Unterstriche getrennt werden.
define('FOO_BAR', 'something more'); const FOO_BAR = value;
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... } }
Funktionsnamen müssen der Namenskonvention für Unterstriche im Snake_case-Stil entsprechen.
function snake_case() { // coding... }
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... } }
Das erste Wort des Methodennamens ist ein Verb.
class StudlyCaps { public function doSomething() { // coding... } }
Variablen müssen der Namenskonvention im CamelCase-Stil entsprechen, bei der mit Kleinbuchstaben begonnen wird.
class StudlyCaps { public function doSomething() { $someVariable = 'demo'; // coding... } }
Wenn eine Methode/Funktion mehrere Parameter hat, muss zwischen
class StudlyCaps { public function doSomething($variableOne, $variableTwo) { // coding... } }
$a = $b + $c; $a = $b . $c;
namespace Standard; // 空一行 use Test\TestClass;//use引入类 // 空一行
class StudlyCaps { }
class StudlyCaps { public function studlyCaps() { // coding... } } function snake_case() { // coding... }
abstract class StudlyCaps { abstract public function studlyCaps(); final public static function studlyCapsOne() { } }
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... } $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... }
if ($valueOne === $valueTwo) {// 控制结构(右边和)左边不加空格 // code... }Codierungsvorschläge
// 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;
if ($a > 0 && $b > 0 && $c > 0 && $d > 0 && $e > 0) { }
public function tooLangFunction( $valueOne = '', $valueTwo = '', $valueThree = '', $valueFour = '', $valueFive = '', $valueSix = '') { //coding... }
$this->nameTest->functionOne() ->functionTwo() ->functionThree();
$a = [ 'aaa' => 'aaa', 'bbb' => 'bbb' ];
$str = 'str'; $arg = "$str";
/** * 类描述 * * 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... }
/** * 成员方法名称. * * 成员方法描述 * * @param string $value 形参名称/描述 * * @example domain/api/controller/action?argu1=111&argu2=222 */ public function testFunction($value = '') { // code... }
try { // coding... } catch (\Exception $e) { // coding... }
// 改写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(); } } ... }
// +---------------------------------------------------------------------- // | Company Name xx服务 // +---------------------------------------------------------------------- // | Copyright (c) 2017 http://domain All rights reserved. // +---------------------------------------------------------------------- // | Author: name <email> // +----------------------------------------------------------------------
以上内容就给新手程序员的一些编写代码的规范及建议,希望能帮助到大家。
相关推荐:
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!