cari
Rumahphp教程php手册Spesifikasi PHP PSR Asas version_php bahasa Cina

Alamat gudang dokumen: https://github.com/hfcorriez/fig-standards

Spesifikasi PSR versi Cina

Mengapa spesifikasi

Petikan menterjemah ayat rasmi Organisasi ini bertujuan untuk membincangkan projek kod kami titik persamaan untuk mencari pendekatan pengaturcaraan kolaboratif.

Ini mengingatkan saya tentang petikan ini dalam artikel "Mengapa Google Menguatkuasakan Piawaian Kod Ketat":

Salin kod Kod adalah seperti berikut:

Di Google, saya boleh melihat sebarang kod, masukkan semua pustaka kod Google dan saya mempunyai kebenaran untuk melihatnya. Malah, sangat sedikit orang yang mempunyai kuasa seperti ini. Walau bagaimanapun, apa yang mengejutkan saya ialah begitu banyak piawaian pengekodan—lekukan, penamaan, struktur fail, gaya ulasan—semuanya menjadikan saya amat mudah untuk membaca sebarang kod dan memahaminya dengan mudah. Ini mengejutkan saya-kerana saya fikir norma ini adalah remeh. Mereka tidak mungkin melakukan sebanyak itu—namun mereka melakukannya. Apabila anda mendapati bahawa anda boleh memahami sekeping kod hanya dengan melihat struktur sintaks asas program, penjimatan masa seperti ini pasti mengejutkan!


Pembaca yang dihormati, saya tidak perlu bercakap lebih lanjut tentang peraturan.

Tulis di penghujung
Spesifikasi tidak diwajibkan, anda boleh memilih cara anda sendiri, tetapi menggunakan spesifikasi akan memudahkan kerjasama anda. Pada masa kini, penulisan pelbagai aplikasi yang lebih moden tidak lagi seperti dahulu Sesuatu aplikasi biasanya terdiri daripada banyak modul Jika spesifikasi tidak dilaksanakan, ia hanya akan menjadikan pemahaman dan komunikasi keseluruhan projek.

Jika anda menggunakan spesifikasi, faedah kepada projek dan diri anda sudah tentu terbukti dengan sendirinya.

Semua rujukan spesifikasi yang diterima: https://github.com/hfcorriez/fig-standards/tree/zh_CN/%E6%8E%A5%E5%8F%97

Spesifikasi Gaya Kod

Tujuan panduan ini adalah untuk mengurangkan perbezaan kognitif antara pembangun yang berbeza semasa menyemak imbas kod. Ini menyenaraikan satu set peraturan biasa untuk cara memformat kod PHP.
Kesamaan setiap projek ahli membentuk peraturan gaya artikel ini. Apabila pembangun yang berbeza bekerjasama dalam projek yang berbeza, standard yang sama akan digunakan merentas projek yang berbeza ini. Oleh itu, faedah panduan ini bukan terletak pada peraturan itu sendiri, tetapi dalam perkongsiannya.
Kata kunci ciri dalam RFC 2119 ialah "MESTI", "MESTI", "DIPERLUKAN", "MUNGKIN", "TIDAK BOLEH", Perkataan "SEPATUTNYA", "TIDAK PATUT", "DISYORKAN", "MUNGKIN" dan "PILIHAN" akan digunakan dalam dokumen ini.

1. Rangka

Kod mesti mematuhi PSR-1.

Kod mesti menggunakan lekukan 4 ruang, bukan tab.
Tiada had keras pada panjang baris kod; had lembut mestilah 120 aksara juga;
Mesti ada baris kosong di bawah pengisytiharan ruang nama, dan mesti ada juga baris kosong di bawah blok pengisytiharan penggunaan.
Pendakap kerinting kiri kelas mesti diletakkan pada baris seterusnya, dan pendakap kerinting kanan mesti diletakkan pada baris seterusnya badan kelas.
Kurung kerinting kiri kaedah mesti diletakkan pada baris seterusnya, dan pendakap kerinting kanan mesti diletakkan di bawah badan kaedah.
Semua sifat dan kaedah mesti mempunyai pengisytiharan keterlihatan (Nota Penterjemah: Awam, Lindungi, Persendirian) dan pengisytiharan akhir mestilah sebelum keterlihatan;
Kata kunci struktur kawalan mesti mempunyai ruang selepas kaedah dan fungsi tidak dibenarkan.
Pendakap kerinting kiri struktur kawalan mesti diletakkan pada baris yang sama, dan pendakap kerinting kanan mesti diletakkan pada barisan badan kawalan seterusnya.
Mesti tiada ruang selepas kurungan kiri struktur kawalan dan tiada ruang sebelum kurungan kanan.

1.1. Contoh
Contoh ini mengandungi paparan ringkas beberapa peraturan di atas:

Salin kod Kod adalah seperti berikut:

ruang nama VendorPackage;
gunakan FooInterface;
gunakan BarClass sebagai Bar;
gunakan OtherVendorOtherPackageBazClass;

kelas Foo extends Bar melaksanakan FooInterface
{
public function sampleFunction($a, $b = null)
{
if ($a === $b) {
bar ();
} elseif ($a > $b) {
                                                                                                                                                                                                                                                                      );
}
}

bar fungsi statik awam akhir()

{

// badan kaedah
}
}


2. Ringkasan2.1 Spesifikasi Kod Asas

Kod mesti mematuhi semua peraturan PSR-1.

2.2 Fail

Semua fail PHP mesti menggunakan Unix LF (line feed) sebagai penamat baris.


Semua fail PHP mesti berakhir dengan baris kosong.

Teg penutup fail untuk kod PHP tulen?>Mesti ditinggalkan

2.3. Baris

Tidak boleh ada had keras pada panjang talian.


Had lembut pada panjang baris mestilah 120 aksara; untuk had lembut, penyemak gaya automatik mesti memberi amaran tetapi bukan ralat.

Panjang baris sebenar tidak boleh melebihi 80 aksara;

Semestinya tiada ruang selepas garisan tidak kosong.

Baris kosong boleh digunakan untuk meningkatkan kebolehbacaan dan membezakan blok kod yang berkaitan.

Tidak boleh ada lebih daripada satu pernyataan setiap baris.

2.4. Lekukan

Kod mesti menggunakan 4 ruang untuk lekukan dan aksara tab tidak boleh digunakan sebagai lekukan.


Nota: Hanya menggunakan ruang, tidak bercampur dengan tab, akan membantu mengelakkan beberapa masalah dalam perbezaan kod, tampung, sejarah dan ulasan. Menggunakan ruang putih juga menjadikannya sangat mudah untuk melaraskan lekukan halus untuk meningkatkan penjajaran antara baris.

2.5. Kata kunci dan Benar/Salah/Nol

kata kunci PHP mestilah huruf kecil.


Pemalar PHP benar, palsu dan null mestilah huruf kecil.

3. Ruang nama dan Pengisytiharan Penggunaan

Jika ada, mesti ada baris kosong selepas pengisytiharan ruang nama.


Jika ada, semua pernyataan penggunaan mesti diletakkan di bawah pernyataan ruang nama.

Kata kunci penggunaan mesti digunakan dalam satu perisytiharan sahaja.

Mesti ada baris kosong selepas blok pengisytiharan penggunaan.

Contoh:

namespace VendorPackage ;

gunakan FooClass;gunakan BarClass sebagai Bar;

gunakan OtherVendorOtherPackageBazClass;

// ... kod PHP tambahan ...


4. Kelas, sifat dan kaedah

Istilah "kelas" merujuk kepada semua kelas, antara muka dan sifat.


4.1. Sambungan dan warisan

Kata kunci lanjutan dan pelaksanaan kelas mesti berada pada baris yang sama dengan nama kelas.


Kurung kerinting kiri kelas mesti diletakkan pada barisnya sendiri di bawah;

namespace VendorPackage ;
gunakan FooClass;
gunakan BarClass sebagai Bar;
gunakan OtherVendorOtherPackageBazClass;

className kelas melanjutkan ParentClass melaksanakan ArrayAccess, Countable{

// pemalar, sifat, kaedah
}


melaksanakan bahawa senarai boleh dibahagikan kepada beberapa baris berikutnya dengan satu lekukan. Jika anda melakukan ini, item pertama dalam senarai mesti diletakkan pada baris seterusnya dan mesti ada hanya satu antara muka setiap baris.

namespace VendorPackage ;

gunakan FooClass;gunakan BarClass sebagai Bar;

gunakan OtherVendorOtherPackageBazClass;

className kelas melanjutkan pelaksanaan ParentClass

ArrayAccess,

Countable,
Serializable
{
// pemalar, sifat, kaedah
}

4.2. Attribute
Alle Attribute müssen Sichtbarkeit deklarieren.

Das Schlüsselwort var kann nicht zum Deklarieren von Attributen verwendet werden.

Eine Anweisung kann nicht mehrere Attribute deklarieren.

Eigenschaftsnamen sollte kein einzelner Unterstrich vorangestellt werden, um die geschützte oder private Sichtbarkeit anzuzeigen.

Eine Eigentumsdeklaration sollte so aussehen.

Code kopieren Der Code lautet wie folgt:

Namespace VendorPackage ;

class ClassName
{
public $foo = null;
}

4.3. Methoden
Alle Methoden müssen Sichtbarkeit deklarieren.

Methodennamen sollten nicht nur einen einzelnen Unterstrich verwenden, um auf geschützte oder private Sichtbarkeit hinzuweisen.

Dem Methodennamen darf nach der Deklaration kein Leerzeichen folgen. Die öffnende geschweifte Klammer muss in einer eigenen Zeile darunter platziert werden, und die schließende geschweifte Klammer muss in einer eigenen Zeile unterhalb des Methodenkörpers platziert werden. Nach der linken Klammer und vor der rechten Klammer dürfen keine Leerzeichen stehen.

Eine Methodendefinition sollte wie folgt aussehen. Beachten Sie die Klammern, Kommas, Leerzeichen und geschweiften Klammern:

Code kopieren Der Code lautet wie folgt:

Namespace VendorPackage ;

class ClassName
{
public function fooBarBaz($arg1, &$arg2, $arg3 = [])
{
// Methodenkörper
}
}

4.4. Methodenparameter
In der Parameterliste darf kein Leerzeichen vor dem Komma stehen und es muss ein Leerzeichen nach dem Komma stehen.

Parameter mit Standardwerten in Methoden müssen am Ende der Parameterliste platziert werden.

Code kopieren Der Code lautet wie folgt:

Namespace VendorPackage ;

class ClassName
{
public function foo($arg1, &$arg2, $arg3 = [])
{
// Methodenkörper
}
}

Die Parameterliste kann mit einer Einrückung in mehrere aufeinanderfolgende Zeilen unterteilt werden. Wenn Sie dies tun, muss das erste Element in der Liste in der nächsten Zeile platziert werden und es darf nur ein Parameter in jeder Zeile platziert werden.

Wenn die Parameterliste in mehrere Zeilen unterteilt ist, müssen die rechte Klammer und die linke geschweifte Klammer mit einem Leerzeichen zusammengefügt werden, um eine eigene Zeile zu bilden.

Code kopieren Der Code lautet wie folgt:

Namespace VendorPackage ;

class ClassName
{
public function aVeryLongMethodName(
ClassTypeHint $arg1,
&$arg2,
) array $arg3 = []
) {
// Methodenkörper
}
}

4.5. Zusammenfassung, endgültige und statische Erklärung
Wenn vorhanden, müssen abstrakte und endgültige Erklärungen vor der Sichtbarkeitserklärung platziert werden.

Falls vorhanden, muss auf eine statische Deklaration eine Sichtbarkeitsdeklaration folgen.

Code kopieren Der Code lautet wie folgt:

Namespace VendorPackage ;

abstract class ClassName
{
protected static $foo;

abstrakte geschützte Funktion zim();

final public static function bar()
{
// Methodenkörper
}
}

4.6. Aufrufen von Methoden und Funktionen
Um eine Methode oder Funktion aufzurufen, darf zwischen dem Methoden- oder Funktionsnamen und der linken Klammer kein Leerzeichen stehen, kein Leerzeichen nach der linken Klammer und kein Leerzeichen vor der rechten Klammer. In der Funktionsliste darf vor dem Komma kein Leerzeichen und nach dem Komma muss ein Leerzeichen stehen.

bar();
$foo->bar($arg1);
Foo::bar($arg2, $arg3);
Die Parameterliste kann werden mit einem Einzug in nachfolgende Zeilen aufgeteilt. Wenn Sie dies tun, muss das erste Element in der Liste in der nächsten Zeile platziert werden und jede Zeile muss genau ein Argument haben.

Code kopieren Der Code lautet wie folgt:

$foo->bar(
$longArgument,
$longerArgument,
$muchLongerArgument
);

5. Kontrollstruktur
Die Stilregeln für Kontrollstrukturen sind wie folgt zusammengefasst:

Nach dem Schlüsselwort der Kontrollstruktur muss ein Leerzeichen stehen.
Nach der linken Klammer darf kein Leerzeichen stehen.
Vor der rechten Klammer darf kein Leerzeichen stehen.
Zwischen der rechten Klammer und muss ein Leerzeichen stehen die linke geschweifte Klammer
Code Der Körper muss einmal eingerückt werden
Die schließende geschweifte Klammer muss eine Zeile unter dem Körper stehen
Der Körper jeder Struktur muss in geschweifte Klammern eingeschlossen sein. Diese Struktur sieht standardisierter aus und verringert die Möglichkeit von Fehlern beim Hinzufügen neuer Zeilen.

5.1. if, elseif, else

Eine if-Struktur sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern; sonst und elseif stehen auf derselben Zeile wie die schließende geschweifte Klammer des vorherigen Textkörpers.

Code kopieren Der Code lautet wie folgt:

if ( $expr1) {
// if body
} elseif ($expr2) {
// elseif body
} else {
// else body;
}

Das Schlüsselwort elseif sollte anstelle von else if verwendet werden, um alle Kontrollschlüsselwörter als ein Wort beizubehalten.

5.2. Schalter, Gehäuse

Eine Schalterstruktur sollte wie folgt aussehen. Achten Sie auf Klammern, Leerzeichen und geschweifte Klammern. Die Case-Anweisung muss vom Schalter aus eingerückt sein, und das Schlüsselwort break (oder ein anderes Schlüsselwort break) muss auf derselben Ebene wie der Case-Körper eingerückt sein. Wenn ein nicht leerer Fallkörper herunterfällt, muss ein Kommentar wie // no break vorhanden sein.

Code kopieren Der Code lautet wie folgt:

Schalter ( $expr) {
case 0:
echo 'Erster Fall, mit Pause';
break;
case 1:
echo 'Zweiter Fall, der durchfällt';
// keine Pause
case 2:
case 3:
case 4:
echo 'Dritter Fall, Rückkehr statt Pause';
return;
default:
echo 'Default case ';
break;
}

5.3 while, do while
Eine while-Anweisung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.
Code kopieren Der Code lautet wie folgt:

while ( $expr) {
// Strukturkörper
}

Ähnlich sollte eine do while-Anweisung wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.
Code kopieren Der Code lautet wie folgt:

do {
// Strukturkörper;
} while ($expr);

5.4. for
Eine for-Anweisung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.

Code kopieren Der Code lautet wie folgt:

für ( $i = 0; $i // für Körper

5.5. foreach

Eine foreach-Anweisung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.


Code kopieren Der Code lautet wie folgt:
foreach ( $iterable as $key => $value) {
// foreach body
}

5.6 try, Catch
Eine Try-Catch-Anweisung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.

Code kopieren Der Code lautet wie folgt:

try {
// try body
} Catch (FirstExceptionType $e) {
// Catch Body
} Catch (OtherExceptionType $e) {
// Körper fangen
}

6. Schließung

Nach dem Funktionsschlüsselwort muss beim Deklarieren des Abschlusses ein Leerzeichen stehen, und vor der Verwendung ist auch ein Leerzeichen erforderlich.

Die öffnende geschweifte Klammer muss sich auf derselben Zeile befinden und die schließende geschweifte Klammer muss sich auf der nächsten Zeile des Körpers befinden.

Nach den linken Klammern von Parameterlisten und Variablenlisten dürfen keine Leerzeichen stehen, und vor den rechten Klammern dürfen keine Leerzeichen stehen.

In Parameterlisten und Variablenlisten dürfen vor dem Komma keine Leerzeichen und nach dem Komma müssen Leerzeichen stehen.

Parameter von Abschlüssen mit Standardwerten müssen nach der Parameterliste platziert werden.

Eine Abschlusserklärung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.

Code kopieren Der Code lautet wie folgt:

$closureWithArgs = function ( $arg1, $arg2) {
// body
};
$closureWithArgsAndVars = function ($arg1, $arg2) use ($var1, $var2) {
// body
};

Parameter- und Variablenlisten können mit einer Einrückung in mehrere aufeinanderfolgende Zeilen aufgeteilt werden. Wenn Sie dies tun, muss das erste Element in der Liste in der nächsten Zeile platziert werden und es darf nur ein Parameter oder eine Variable in einer Zeile platziert werden.

Wenn die endgültige Liste (ob Parameter oder Variablen) in mehrere Zeilen unterteilt ist, müssen die rechte Klammer und die linke geschweifte Klammer in einer eigenen Zeile mit einem Leerzeichen platziert werden.

Unten finden Sie ein Beispiel für eine Parameter- und Variablenliste, die in mehrere Zeilen aufgeteilt ist.

Code kopieren Der Code lautet wie folgt:

$longArgs_noVars = function (
$longArgument,
$longerArgument,
$muchLongerArgument
) {
// body
};

$noArgs_longVars = function () use (
$longVar1,
$longerVar2,
$muchLongerVar3
) {
// body
};

$longArgs_longVars = function (
$longArgument,
$longerArgument,
$muchLongerArgument
) use (
$longVar1,
$longerVar2,
$muchLongerVar 3
) {
// Körper
};

$longArgs_shortVars = function (
$longArgument,
$longerArgument,
$muchLongerArgument
) use ($var1) {
// body
};

$shortArgs_longVars = function ($arg) use (
$longVar1,
$longerVar2,
$muchLongerVar3
) {
// body
};


Beachten Sie, dass auch die oben genannten Formatierungsregeln gelten, wenn der Abschluss als Parameter in einer Funktion oder Methode aufgerufen wird.
Code kopieren Der Code lautet wie folgt:

$foo -> bar(
$arg1,
function ($arg2) use ($var1) {
// body
},
$arg3
);

7. 结论
在该指南中有很多风格的元素和做法有意被忽略掉。这些包括但不局限于:

全局变量和全局常量的声明

方法声明

操作符和赋值

行间对齐

注释和文档块

类名给你前缀和后缀

最佳实践

以后的建议可以修改和扩展该指南以满足这些或其他风格的元素和实践。

附录A 调查
为了写这个风格指南,我们采用了调查个项目以确定共同的做法。这个调查在这里供他人查看。

A.1. 调查数据
url,http://www.horde.org/apps/horde/docs/CODING_STANDARDS,http://pear.php.net/manual/en/standards.php,http://solarphp.com/manual/appendix-standards.style,http://framework.zend.com/manual/en/coding-standard.html,http://symfony.com/doc/2.0/contributing/code/standards.html,http://www.ppi.io/docs/coding-standards.html,https://github.com/ezsystems/ezp-next/wiki/codingstandards,http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html,https://github.com/UnionOfRAD/lithium/wiki/Spec%3A-Coding,http://drupal.org/coding-standards,http://code.google.com/p/sabredav/,http://area51.phpbb.com/docs/31x/coding-guidelines.html,https://docs.google.com/a/zikula.org/document/edit?authkey=CPCU0Us&hgd=1&id=1fcqb93Sn-hR9c0mkN6m_tyWnmEvoswKBtSc0tKkZmJA,http://www.chisimba.com,n/a,https://github.com/Respect/project-info/blob/master/coding-standards-sample.php,n/a,Object Calisthenics for PHP,http://doc.nette.org/en/coding-standard,http://flow3.typo3.org,https://github.com/propelorm/Propel2/wiki/Coding-Standards,http://developer.joomla.org/coding-standards.html
voting,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,no,no,no,?,yes,no,yes
indent_type,4,4,4,4,4,tab,4,tab,tab,2,4,tab,4,4,4,4,4,4,tab,tab,4,tab
line_length_limit_soft,75,75,75,75,no,85,120,120,80,80,80,no,100,80,80,?,?,120,80,120,no,150
line_length_limit_hard,85,85,85,85,no,no,no,no,100,?,no,no,no,100,100,?,120,120,no,no,no,no
class_names,studly,studly,studly,studly,studly,studly,studly,studly,studly,studly,studly,lower_under,studly,lower,studly,studly,studly,studly,?,studly,studly,studly
class_brace_line,next,next,next,next,next,same,next,same,same,same,same,next,next,next,next,next,next,next,next,same,next,next
constant_names,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper
true_false_null,lower,lower,lower,lower,lower,lower,lower,lower,lower,upper,lower,lower,lower,upper,lower,lower,lower,lower,lower,upper,lower,lower
method_names,camel,camel,camel,camel,camel,camel,camel,camel,camel,camel,camel,lower_under,camel,camel,camel,camel,camel,camel,camel,camel,camel,camel
method_brace_line,next,next,next,next,next,same,next,same,same,same,same,next,next,same,next,next,next,next,next,same,next,next
control_brace_line,same,same,same,same,same,same,next,same,same,same,same,next,same,same,next,same,same,same,same,same,same,next
control_space_after,yes,yes,yes,yes,yes,no,yes,yes,yes,yes,no,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes,yes
always_use_control_braces,yes,yes,yes,yes,yes,yes,no,yes,yes,yes,no,yes,yes,yes,yes,no,yes,yes,yes,yes,yes,yes
else_elseif_line,same,same,same,same,same,same,next,same,same,next,same,next,same,next,next,same,same,same,same,same,same,next
case_break_indent_from_switch,0/1,0/1,0/1,1/2,1/2,1/2,1/2,1/1,1/1,1/2,1/2,1/1,1/2,1/2,1/2,1/2,1/2,1/2,0/1,1/1,1/2,1/2
function_space_after,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no,no
closing_php_tag_required,no,no,no,no,no,no,no,no,yes,no,no,no,no,yes,no,no,no,no,no,yes,no,no
line_endings,LF,LF,LF,LF,LF,LF,LF,LF,?,LF,?,LF,LF,LF,LF,?,,LF,?,LF,LF,LF
static_or_visibility_first,static,?,static,either,either,either,visibility,visibility,visibility,either,static,either,?,visibility,?,?,either,either,visibility,visibility,static,?
control_space_parens,no,no,no,no,no,no,yes,no,no,no,no,no,no,yes,?,no,no,no,no,no,no,no
blank_line_after_php,no,no,no,no,yes,no,no,no,no,yes,yes,no,no,yes,?,yes,yes,no,yes,no,yes,no
class_method_control_brace,next/next/same,next/next/same,next/next/same,next/next/same,next/next/same,same/same/same,next/next/next,same/same/same,same/same/same,same/same/same,same/same/same,next/next/next,next/next/same,next/same/same,next/next/next,next/next/same,next/next/same,next/next/same,next/next/same,same/same/same,next/next/same,next/next/next
A.2. 调查说明
indent_type: 缩进类型。 tab = "使用制表符",2 or 4 = "空格数量"

line_length_limit_soft: 行长度的“软”限制,用字符。 ? = 不表示或者数字 no 意为不限制.

line_length_limit_hard: 行长度的"硬"限制,用字符。 ? = 不表示或者数字, no 意为不限制.

class_names: 类名如何命名 lower = 只是小写, lower_under = 小写加下划线, studly = 骆驼型.

class_brace_line : L'accolade gauche d'une classe doit-elle être placée sur la même ligne ou sur la ligne suivante ?

constant_names : Comment nommer les constantes de classe ? upper = majuscule plus délimiteur souligné.

true_false_null : Écrire en toutes lettres ou en majuscules ?

method_names : Comment nommer les méthodes ? camel = chameau, lower_under = minuscule plus délimiteur souligné.

method_brace_line : L'accolade ouvrante de la méthode est-elle sur la même ligne ou sur la ligne suivante ?

control_brace_line : L'accolade gauche de la structure de contrôle est-elle sur la même ligne ou sur la ligne suivante ?

control_space_after : Y a-t-il un espace après le mot-clé de la structure de contrôle ?

always_use_control_braces : toujours utiliser des accolades pour les structures de contrôle ?

else_elseif_line : lors de l'utilisation de else et elseif, doivent-ils être placés sur la même ligne ou sur la ligne suivante ?

case_break_indent_from_switch : combien de fois case et break sont-ils en retrait de l'instruction switch ?

function_space_after : Y a-t-il des espaces dans le nom de la fonction et le crochet gauche de l'appel de fonction ?

closing_php_tag_required : S'il s'agit d'un fichier PHP pur, fermer la balise ?>Est-ce obligatoire ?

line_endings : Quelles fins de ligne utiliser ?

static_or_visibility_first : Lequel vient en premier, statique ou visibilité, lors de la définition d'une méthode ?

control_space_parens : Dans l'expression de la structure de contrôle, y a-t-il un espace après le crochet gauche et avant le crochet droit ? oui = si ( $expr ), non = si ($expr).

blank_line_after_php : Une ligne vide est-elle requise après la balise d'ouverture de PHP ?

class_method_control_brace : La position de l'accolade gauche dans les classes, les méthodes et les structures de contrôle.

A.3. Résultats de l'enquête
indent_type :
onglet : 7
2 : 1
4 : 14
line_length_limit_soft :
?: 2
non : 3
75 : 4
80 : 6
85 : 1
100 : 1
120 : 4
150 : 1
line_length_limit_hard:
?: 2
non : 11
85 : 4
100 : 3
120 : 2
class_names:
?: 1
inférieur : 1
inférieur_under : 1
étudiant : 19
class_brace_line :
suivant : 16
identique : 6
constant_names :
supérieur : 22
true_false_null :
inférieur : 19
supérieur : 3
method_names : Chameau : 21
LOWER_UNDER : 1
Method_brace_line :
Suivant : 15
Idem : 7
Control_line_line :
NEXT : 4
Idem : 18
Control_space _Affter :
non : 2
oui : 20
always_use_control_braces :
non : 3
oui : 19
else_elseif_line :
suivant : 6
pareil : 16
case_break_in dent_from_switch :
0/1 : 4
1/1 : 4
1/2 : 14
function_space_after :
non : 22
closing_php_tag_required :
non : 19
oui : 3
line_endings :
? : 5
LF : 17
static_or_visibility_first :
?: 5
soit : 7
statique : 4
visibilité : 6
control_space_parens:
?: 1
non : 19
oui : 2
blank_line_after_php:
?: 1
non : 13
oui : 8
class_method_control_ brace :
suivant/suivant/suivant : 4
suivant/suivant/identique : 11
suivant/identique/identique : 1
identique/identique/identique : 6

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
如何在PHP中使用PSR规范来编写API如何在PHP中使用PSR规范来编写APIJun 17, 2023 pm 07:01 PM

随着互联网的快速发展,越来越多的企业和开发者开始使用API(应用程序接口)来构建他们的应用程序。API使不同的应用程序和平台之间的交互变得更加容易。因此,API的编写和设计变得越来越重要。为了达成这一目标,PHP已经实现了PSR(PHP标准推荐),它提供了一套标准规范,以帮助PHP程序员编写更加有效和可维护的API。下面我们将一起来了解如何使用PSR规范来编

遵循PSR2和PSR4规范的PHP团队协作流程和代码审查机制遵循PSR2和PSR4规范的PHP团队协作流程和代码审查机制Oct 15, 2023 am 10:28 AM

遵循PSR2和PSR4规范的PHP团队协作流程和代码审查机制概述:在一个PHP团队中,为了提高代码的可读性、可维护性和可扩展性,遵循PHP代码规范是非常重要的。本文将介绍如何遵循PSR2和PSR4规范来建立一个高效的PHP团队协作流程和代码审查机制,并提供一些具体的代码示例。一、PSR2规范PSR2规范定义了PHP代码的编码风格和格式化要求,包括缩进、括号间

遵循PSR2和PSR4规范的代码合并与重构实践遵循PSR2和PSR4规范的代码合并与重构实践Oct 15, 2023 pm 05:24 PM

遵循PSR2和PSR4规范的代码合并与重构实践,需要具体代码示例引言:在软件开发中,代码合并和重构是非常常见的操作。代码合并指的是将多个分散的代码片段合并到一个文件或模块中,以提高代码的可读性和可维护性。而代码重构则指对现有代码进行改进,使其更加高效、可扩展和易于理解。本文将介绍如何在合并和重构代码时遵循PSR2和PSR4规范,并附带具体的代码示例。一、遵循

PSR2和PSR4规范在团队协作中的应用与挑战PSR2和PSR4规范在团队协作中的应用与挑战Oct 15, 2023 am 10:07 AM

PSR2和PSR4规范在团队协作中的应用与挑战,需要具体代码示例在软件开发团队中,规范与约定是保持代码一致性和可维护性的关键。PHP领域的两个重要规范:PSR2(PHP代码风格规范)和PSR4(自动加载规范)在团队协作中扮演了重要的角色。本文将详细介绍这两个规范的应用,并分析在实际开发过程中可能遇到的挑战,并给出相应的解决方法。首先,我们来看一个简单的PSR

遵守PSR2与PSR4规范的PHP团队开发流程遵守PSR2与PSR4规范的PHP团队开发流程Oct 15, 2023 am 11:25 AM

遵守PSR2与PSR4规范的PHP团队开发流程,需要具体代码示例在现代的PHP开发中,遵守PHPFIG(PHPFrameworkInteropGroup)制定的PSR(PHPStandardRecommendation)规范是一个良好的开发实践。其中,PSR2是关于编码风格的规范,而PSR4是关于自动加载的规范。本文将讨论如何在团队开发中遵守这两

PSR2与PSR4规范的项目实践经验分享PSR2与PSR4规范的项目实践经验分享Oct 15, 2023 am 08:49 AM

PSR2与PSR4规范的项目实践经验分享前言在现代软件开发中,遵循统一的编码规范是非常重要的,它可以提高代码的可读性和可维护性,减少团队合作中的摩擦。PHP-FIG(PHPFrameworkInteropGroup)制定了一系列的PSR规范,其中最为广为人知的就是PSR2和PSR4。本文将分享一些在项目实践中遵循PSR2和PSR4规范的经验,并提供一些

PSR2和PSR4规范在Symfony框架中的应用实践PSR2和PSR4规范在Symfony框架中的应用实践Oct 15, 2023 pm 05:18 PM

PSR2和PSR4规范在Symfony框架中的应用实践引言:Symfony是一个受欢迎且广泛应用的PHP框架,它提供了许多方便的功能和工具来加速开发过程。为了保持代码的可读性和一致性,Symfony框架鼓励开发者遵循规范。本文将着重介绍PSR2和PSR4规范在Symfony框架中的应用实践,并提供具体的代码示例。一、PSR2规范在Symfony框架中的应用实

PSR2和PSR4规范在Phalcon框架中的示例演示和使用指南PSR2和PSR4规范在Phalcon框架中的示例演示和使用指南Oct 15, 2023 am 11:33 AM

PSR2和PSR4规范在Phalcon框架中的示例演示和使用指南引言:随着开源软件的普及和发展,代码规范化已经成为一个非常重要的话题。代码规范可以提高代码的可读性和可维护性,让团队成员更容易合作。PHP-FIG制定了一系列的PSR(PHPStandardsRecommendations)规范,其中最常用的是PSR2和PSR4。本文将以Phalcon框架为

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular