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

Spesifikasi PHP PSR Asas version_php bahasa Cina

May 16, 2016 am 09:00 AM
spesifikasi psr

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 < $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 Laman Web ini
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

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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Muzium Dua Point: Semua Pameran dan Di Mana Mencari Mereka
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan spesifikasi PSR dalam PHP untuk menulis API Cara menggunakan spesifikasi PSR dalam PHP untuk menulis API Jun 17, 2023 pm 07:01 PM

Dengan perkembangan pesat Internet, semakin banyak perusahaan dan pembangun mula menggunakan API (Antaramuka Pengaturcaraan Aplikasi) untuk membina aplikasi mereka. API menjadikannya lebih mudah untuk berinteraksi antara aplikasi dan platform yang berbeza. Oleh itu, penulisan dan reka bentuk API menjadi semakin penting. Untuk mencapai matlamat ini, PHP telah melaksanakan PSR (Syor Standard PHP), yang menyediakan satu set spesifikasi standard untuk membantu pengaturcara PHP menulis API yang lebih cekap dan boleh diselenggara. Di bawah ini kita akan belajar bersama cara menggunakan spesifikasi PSR untuk menyusun

Proses kerjasama pasukan PHP dan mekanisme semakan kod mengikut spesifikasi PSR2 dan PSR4 Proses kerjasama pasukan PHP dan mekanisme semakan kod mengikut spesifikasi PSR2 dan PSR4 Oct 15, 2023 am 10:28 AM

Gambaran keseluruhan proses kerjasama pasukan PHP dan mekanisme semakan kod yang mengikuti spesifikasi PSR2 dan PSR4: Dalam pasukan PHP, untuk meningkatkan kebolehbacaan, kebolehselenggaraan dan kebolehskalaan kod, adalah sangat penting untuk mengikuti spesifikasi kod PHP. Artikel ini akan memperkenalkan cara mengikuti spesifikasi PSR2 dan PSR4 untuk mewujudkan proses kerjasama pasukan PHP yang cekap dan mekanisme semakan kod, dan menyediakan beberapa contoh kod khusus. 1. Spesifikasi PSR2 Spesifikasi PSR2 mentakrifkan gaya pengekodan dan keperluan pemformatan kod PHP, termasuk lekukan dan ruang kurungan.

Proses pembangunan pasukan PHP yang mematuhi spesifikasi PSR2 dan PSR4 Proses pembangunan pasukan PHP yang mematuhi spesifikasi PSR2 dan PSR4 Oct 15, 2023 am 11:25 AM

Proses pembangunan pasukan PHP yang mematuhi spesifikasi PSR2 dan PSR4 memerlukan contoh kod khusus Dalam pembangunan PHP moden, adalah satu amalan pembangunan yang baik untuk mematuhi spesifikasi PSR (Syor Standard PHP) yang dirumuskan oleh PHPFIG (PHPFrameworkInteropGroup). Antaranya, PSR2 ialah spesifikasi tentang gaya pengekodan, manakala PSR4 ialah spesifikasi tentang pemuatan automatik. Artikel ini akan membincangkan cara mematuhi kedua-dua aspek ini dalam pembangunan pasukan

Amalan penggabungan kod dan pemfaktoran semula mengikut spesifikasi PSR2 dan PSR4 Amalan penggabungan kod dan pemfaktoran semula mengikut spesifikasi PSR2 dan PSR4 Oct 15, 2023 pm 05:24 PM

Amalan penggabungan kod dan pemfaktoran semula yang mengikut spesifikasi PSR2 dan PSR4 memerlukan contoh kod khusus Pengenalan: Dalam pembangunan perisian, penggabungan kod dan pemfaktoran semula adalah operasi yang sangat biasa. Penggabungan kod merujuk kepada penggabungan berbilang serpihan kod yang bertaburan ke dalam satu fail atau modul untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Pemfaktoran semula kod merujuk kepada menambah baik kod sedia ada untuk menjadikannya lebih cekap, berskala dan mudah difahami. Artikel ini menerangkan cara mengikuti spesifikasi PSR2 dan PSR4 apabila menggabungkan dan memfaktorkan semula kod, dengan contoh kod khusus. 1. Ikut

Aplikasi dan cabaran spesifikasi PSR2 dan PSR4 dalam kerjasama pasukan Aplikasi dan cabaran spesifikasi PSR2 dan PSR4 dalam kerjasama pasukan Oct 15, 2023 am 10:07 AM

Aplikasi dan cabaran spesifikasi PSR2 dan PSR4 dalam kerjasama pasukan memerlukan contoh kod khusus Dalam pasukan pembangunan perisian, spesifikasi dan konvensyen adalah kunci untuk mengekalkan ketekalan dan kebolehselenggaraan kod. Dua spesifikasi penting dalam medan PHP: PSR2 (spesifikasi gaya kod PHP) dan PSR4 (spesifikasi pemuatan automatik) memainkan peranan penting dalam kerjasama pasukan. Artikel ini akan memperkenalkan aplikasi kedua-dua spesifikasi ini secara terperinci, menganalisis cabaran yang mungkin dihadapi dalam proses pembangunan sebenar, dan memberikan penyelesaian yang sepadan. Pertama, mari kita lihat PSR yang mudah

Contoh tunjuk cara dan panduan penggunaan spesifikasi PSR2 dan PSR4 dalam rangka kerja Phalcon Contoh tunjuk cara dan panduan penggunaan spesifikasi PSR2 dan PSR4 dalam rangka kerja Phalcon Oct 15, 2023 am 11:33 AM

Contoh tunjuk cara dan panduan penggunaan spesifikasi PSR2 dan PSR4 dalam rangka kerja Phalcon Pengenalan: Dengan populariti dan pembangunan perisian sumber terbuka, penyeragaman kod telah menjadi topik yang sangat penting. Spesifikasi kod boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod, menjadikannya lebih mudah untuk ahli pasukan bekerjasama. PHP-FIG telah membangunkan satu siri spesifikasi PSR (PHPStandardsRecommendations), yang paling biasa digunakan ialah PSR2 dan PSR4. Artikel ini akan menggunakan rangka kerja Phalcon sebagai

Aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja Yii Aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja Yii Oct 15, 2023 pm 03:48 PM

Pengenalan kepada aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja Yii: Dengan peningkatan populariti pembangunan PHP dan peningkatan berterusan rangka kerja, spesifikasi pengekodan dan kaedah pemuatan automatik menjadi semakin penting. Artikel ini akan memperkenalkan aplikasi dan promosi spesifikasi PSR2 dan PSR4 dalam rangka kerja Yii, dan menyediakan contoh kod khusus. 1. Apakah spesifikasi PSR2 dan PSR4? Spesifikasi PSR2 adalah standard untuk spesifikasi pengekodan PHP. Ia mentakrifkan satu siri gaya penamaan, struktur kod dan keperluan format, dan komited untuk meningkatkan kerja berpasukan.

Spesifikasi PSR2 dan PSR4 menyeragamkan keperluan untuk pembangunan kerjasama pasukan Spesifikasi PSR2 dan PSR4 menyeragamkan keperluan untuk pembangunan kerjasama pasukan Oct 15, 2023 pm 05:13 PM

Spesifikasi PSR2 dan PSR4 mempunyai keperluan piawai untuk pembangunan kerja berpasukan dan memerlukan contoh kod khusus Pengenalan: Dalam proses pembangunan kerja berpasukan, spesifikasi kod adalah penting. Ia boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod, dan memastikan ketekalan kod apabila berbilang orang bekerjasama dalam pembangunan. PSR (Syor PHPstandard) yang dicadangkan oleh PHP-FIG (PHP-FrameworkInteroperabilityGroup, PHP Framework Interoperability Group)

See all articles