Spesifikasi PHP PSR Asas version_php bahasa Cina
Alamat gudang dokumen: https://github.com/hfcorriez/fig-standards
Spesifikasi PSR versi Cina
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":
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:
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
}
}
Kod mesti mematuhi semua peraturan PSR-1.
2.2 Fail
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:
gunakan FooClass;gunakan BarClass sebagai Bar;
gunakan OtherVendorOtherPackageBazClass;
// ... kod PHP tambahan ...
4.1. Sambungan dan warisan
Kurung kerinting kiri kelas mesti diletakkan pada barisnya sendiri di bawah;
gunakan FooClass;
gunakan BarClass sebagai Bar;
gunakan OtherVendorOtherPackageBazClass;
className kelas melanjutkan ParentClass melaksanakan ArrayAccess, Countable{
// pemalar, sifat, kaedah
}
gunakan FooClass;gunakan BarClass sebagai Bar;
gunakan OtherVendorOtherPackageBazClass;
className kelas melanjutkan pelaksanaan ParentClass
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.
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:
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.
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.
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.
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.
$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.
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.
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.
while ( $expr) {
// Strukturkörper
}
Ähnlich sollte eine do while-Anweisung wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.
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.
für ( $i = 0; $i < $i++) {
// für Körper
Eine foreach-Anweisung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.
// foreach body
}
Eine Try-Catch-Anweisung sollte wie folgt aussehen. Achten Sie auf die Platzierung von Klammern, Leerzeichen und geschweiften Klammern.
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.
$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.
$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.
$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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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

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 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 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 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 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

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 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)
