国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ バックエンド開(kāi)発 PHPチュートリアル PHP PSR-2コーディングスタイル仕様

PHP PSR-2コーディングスタイル仕様

Jul 23, 2016 am 08:54 AM

コードスタイルの指定

この仕様は、[PSR-1][] 基本コード仕様の継承および拡張です。

この仕様は、PHP コードを標(biāo)準(zhǔn)化するための一連のルールを策定することにより、さまざまな作成者のコードを參照するときに、さまざまなコーディング スタイルによって引き起こされる不便さを軽減することを目的としています。

複數(shù)のプログラマーが複數(shù)のプロジェクトで共同作業(yè)する場(chǎng)合、共通のコーディング仕様が必要です。
この記事のスタイル仕様は、複數(shù)の異なるプロジェクトのコーディング スタイルの共通の特性に基づいています。
したがって、この仕様の価値は私たち全員にあります。それ自體ではなく、このコーディング スタイルに従ってください。

キーワード「しなければならない」(「MUST」)、「してはならない/してはならない」(「MUST NOT」)、「必要」(「必須」)、
「するつもり」(「SHALL」)、「しない」( 「してはならない」)、「すべきである」(「すべきである」)、「すべきではない」(「すべきではない」)、
「推奨する」(「推奨」)、「できる」(「してもよい」)、および「オプション」(" OPTIONAL") については、[RFC 2119][] で詳細(xì)に説明されています。

概要


コードは [PSR-1][] のコーディング規(guī)約に従わなければなりません。

コードでは、インデントにタブ キーの代わりに 4 つのスペースを使用する必要があります。

1 行あたりの文字?jǐn)?shù) は、ソフト的に 80 以內(nèi)に抑える必要があります。理論的には

120 を超えてはなりませんが、

ハード制限を設(shè)けてはなりません 。 各名前空間宣言と use 宣言ブロックの後に、空行を挿入する必要があります。 クラスの開(kāi)き中括弧 ({)

は関數(shù)宣言の後の獨(dú)自の行に記述する必要があり、閉じ中括弧 (}) も関數(shù)本體の後の獨(dú)自の行に記述する必要があります。

メソッドの開(kāi)き中括弧 ({) は関數(shù)宣言の後の獨(dú)自の行に記述する必要があり、閉じ中括弧 (}) も関數(shù)本體の後の獨(dú)自の行に記述する必要があります。

クラスのプロパティとメソッドは、アクセス修飾子(private、protected、public)、abstractとf(wàn)inalを追加する必要があり、アクセス修飾子の前に宣言する必要があり、staticはアクセス修飾子の後に宣言する必要があります。

制御構(gòu)造のキーワードの後に??はスペースが必要です が、メソッドまたは関數(shù)を呼び出すときに があってはなりません

コントロール構(gòu)造の左中括弧 ({)

は宣言と同じ行に記述する必要があり、右中括弧 (}) は本文の後の獨(dú)自の行に 記述する必要があります。 制御構(gòu)造の左括弧の後と右括弧の前にスペース文字があってはなりません。 1.1. 例

次のサンプル プログラムは、上記の仕様のほとんどを簡(jiǎn)単に示しています。

use FooInterface; use OtherVendorOtherPackageBazClass; $b = null) { if ($a === $b) {

bar();

} elseif ($a > $b) { $foo-> ;bar($arg1); } else { BazClass::bar($arg2, $arg3); }

}

Final public static function bar() {

// メソッド本體

}

}
    コードをコピー
  1. 一般ルール


    2.1 基本的なコーディングガイドライン

    コード は、[PSR-1][] のすべての仕様に 準(zhǔn)拠する必要があります。

    2.2 ドキュメント

    すべての PHP ファイル は、行終端文字として Unix LF (改行) を使用する必要があります。

    すべての PHP ファイルは

    空行で終わる必要があります。 純粋な PHP コード ファイル

    は最後の ?> 終了タグを省略する必要があります。

    2.3. OK 線の長(zhǎng)さ に厳密な制限を設(shè)けてはなりません

    。

    ソフトな長(zhǎng)さの制約は 120 文字に制限する必要があります

    、この長(zhǎng)さを超える場(chǎng)合、コード仕様チェックを備えたエディターは警告を

    発行する必要がありますが、エラー プロンプトを発行してはなりません。 各行は 80 文字を超えてはならず、80 文字を超える行は複數(shù)行にする必要があります。

    非空白行の後には

    余分なスペースがあってはなりません。 空白行 を使用すると、 コードが読みやすくなり、コードを分割しやすくなります。

    各行に 複數(shù)のステートメントを含めることはできません。 2.4. インデント

    コードでは、インデントに 4 つのスペースを使用する必要があり、

    Tab キーを使用してはなりません。

    注: インデントにタブ キーの代わりにスペースを使用する利點(diǎn)は、

    コードの相違點(diǎn)の比較、パッチ適用、コードの再読み込み、およびコメントの際の混亂を回避できることです。 また、位置合わせを容易にするために、インデントにスペースを使用します。 2.5. キーワードと True/False/Null

    PHP では、[キーワード][]

    すべて小文字にする必要があります。 定數(shù) true、false、null も すべて小文字でなければなりません。

    名前空間と使用宣言



    名前空間宣言の後に空行を挿入する必要があります。

    すべての使用は名前空間の後に宣言する必要があります。 各 use ステートメントには use キーワードを 1 つだけ含める必要があります。

    use ステートメント ブロックの宣言の後には空行が必要です。 例:


    namespace VendorPackage;

    use FooClass;

    use BarClass as Bar;

    use OtherVendorOtherPackageBazClass;

    // ... 追加の PHP コード ...

    コピーコード
    1. クラス、プロパティ、メソッド
    2. ここでの「クラス」とは、すべてのクラス、インターフェイス、および再利用可能なコード ブロックの特性を指します。
    3. 4.1. 拡張と継承
    4. キーワード extends とimplements
    5. はクラス名と同じ行に記述する必要があります。
    クラスの開(kāi)き中括弧
    は獨(dú)自の行を占有する必要があり、閉じ中括弧 はクラス本體の後の獨(dú)自の行を占有する必要があります。 <? 複數(shù)の行に分割することもできます。この場(chǎng)合、継承された各インターフェース名
    は、最初の行も含めて別々の行に分割する必要があります。


    namespace VendorPackage;FooClassを使用;

    BarClassをBarとして使用;

    OtherVendorOtherPackageBazClassを使用;class ClassName extends ParentClass実裝 ArrayAccess、Countable、

    Serializable
    {
    // 定數(shù)、プロパティ、メソッド
      }
    1. コードをコピー
    2. 4.2.
    3. 各プロパティにはアクセス修飾子が追加されている必要があります
    4. 。
    5. プロパティを宣言するためにキーワード var を
    6. 使用してはなりません
    7. 。
    各ステートメントで 複數(shù)の屬性を定義してはなりません。 プロパティが保護(hù)されているかプライベートであるかを區(qū)別するために、プレフィックスとしてアンダースコアを使用しないでください。

    以下はプロパティ宣言の例です:

    namespace VendorPackage;
      class ClassName
    1. {
    2. public $foo = null;
    3. }
    4. メソッドをコピーします。
    5. すべてのメソッドは
    6. アクセス修飾子を追加する必要があります。
    7. メソッドが保護(hù)されているかプライベートであるかを區(qū)別するために、プレフィックスとしてアンダースコアを使用しないでください。
    8. メソッド名の後に
    9. スペースがあってはなりません。左中括弧
    10. は単獨(dú)の行になければならず、閉じ中括弧
    11. はメソッド本體の後に単獨(dú)の行になければなりません。パラメータの左括弧の後と右括弧の前にスペースを入れてはなりません。
    標(biāo)準(zhǔn)メソッド宣言では、括弧、カンマ、スペース、中括弧の位置に注意して、次の例を參照できます。

namespace VendorPackage;

class ClassName{ public function fooBarBaz($arg1, &$arg2, $arg3 = [])

{

// メソッド本體 }}

コードをコピー

4.4. メソッドのパラメータ

パラメータリストでは、各カンマの後にスペースが必要であり、カンマの前にスペースがあってはなりません。 デフォルト値を持つパラメータは

パラメータリストの最後に配置する必要があります。

namespace VendorPackage;
  1. class ClassName
  2. {
  3. public function foo($arg1, &$arg2, $arg3 = [])
  4. {
  5. // メソッド本體
  6. }
  7. }
  8. コードをコピーします
パラメータリストは複數(shù)の行に分割することができます。そのため、最初のパラメータを含む各パラメータは獨(dú)自の行になければなりません

。 パラメータリストを複數(shù)の行に分割した後、メソッドの閉じ括弧と開(kāi)き括弧を同じ行に記述し、中央にスペースで區(qū)切る必要があります。

namespace VendorPackage;
    class ClassName
  1. {
  2. public function aVeryLongMethodName(
  3. ClassTypeHint $arg1,
  4. &$arg2,
  5. array $arg3 = []
  6. ) {
  7. // メソッド本體
  8. }
  9. }
  10. コードをコピー
4.5. 抽象、最終、靜的
抽象宣言や最終宣言を追加する必要がある場(chǎng)合は、アクセス修飾子の前に記述し、その後に static

を記述する必要があります。

namespace VendorPackage;
    abstract class ClassName
  1. {
  2. protected static $foo;
  3. abstract protected function zim();
  4. Final public static function bar()
  5. {
  6. // メソッドbody
  7. }
  8. }
  9. コードをコピー
4.6. メソッドと関數(shù)の呼び出し
メソッドや関數(shù)を呼び出す場(chǎng)合、メソッド名または関數(shù)名とパラメーターの左括弧の間にスペースがあってはならず、またパラメーターの右括弧の前にスペースがあってはなりません。各パラメーターの前にスペースを入れてはなりません が、後ろにスペースを入れなければなりません

。 bar();$foo->bar($arg1);Foo::bar($arg2, $arg3);

コードをコピー
  1. パラメータ
  2. OK
  3. このとき、最初のパラメータを含む各パラメータは
別々の行に分割する必要があります。

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

);
    コードをコピー
  1. 制御構(gòu)造
  2. 制御構(gòu)造の基本仕様は以下の通りです:
制御構(gòu)造キーワードの後に??はスペースが必要です。
左括弧 (.

) の後には

スペースがあってはなりません
右括弧の前に

スペースがあってはなりません)。

右括弧 ) と開(kāi)始中括弧 { の間には スペースが 1 つ必要です。

構(gòu)造體の本體は 1 回インデントする必要があります。

閉じ中括弧 }

は、構(gòu)造體の本體の後の別の行に配置する必要があります。 各構(gòu)造の本體は

必ず中括弧のペアで囲む必要があります

これにより構(gòu)造がより構(gòu)造化され、新しい行を追加する際のエラーの可能性が減ります。 5.1. if、elseif、else 標(biāo)準(zhǔn)の if 構(gòu)造は次のコードに示すとおりです。大括弧、スペース、中括弧の位置に注意してください。

else と elseif は両方とも前の閉じ中括弧と同じ行にあることに注意してください。

if ($expr1) { // if body

} elseif ($expr2) {

// elseif body} else { // else body;
}


Copyコード

    では、すべての制御キーワードが 1 つの単語(yǔ)であるように見(jiàn)えるように、他のすべての if の代わりにキーワード elseif を使用する必要があります。
  1. 5.2. スイッチとケース
  2. 標(biāo)準(zhǔn)的なスイッチ構(gòu)造は次のコードのようになります。括弧、スペース、中括弧の位置に注意してください。
  3. case ステートメント
  4. は switch に対して相対的にインデントする必要がありますが、break ステートメントと case 內(nèi)の他のステートメントは case に対して相対的にインデントする必要があります。
  5. 空ではない case through ステートメントがある場(chǎng)合は、本文に // no Break のようなコメントが必要です。
switch ($expr) { case 0:
echo '最初のケース、ブレイクあり';

Break; case 1: echo '2 番目のケース、失敗する';

// ブレークなし

case 2:
case 3: case 4: echo '3 番目のケース、ブレークの代わりに return';
return;

default:
echo 'デフォルトのケース';
Break;
    }
  1. Copyコード
  2. 5.3. while と do while

    標(biāo)準(zhǔn)化された while ステートメントは次のようになります。大括弧、スペース、中括弧の位置に注意してください。

    1. while ($expr) {
    2. // 構(gòu)造體
    3. }
    コードをコピー

    標(biāo)準(zhǔn)的な do while ステートメントも同様に、括弧、スペース、およびスペースに注意してください。花の位置。

    1. do {
    2. // 構(gòu)造體;
    3. } while ($expr);
    コードをコピー
    5.4。

    記述の基準(zhǔn)は以下の通りです。括弧、スペース、中括弧の位置に注意してください。

    1. for ($i = 0; $i <10; $i++) {
    2. // 本體
    3. }
    コードをコピー
    5.5.

    標(biāo)準(zhǔn)の foreach ステートメントは次のとおりです。括弧、スペース、中括弧の位置に注意してください。

    1. foreach ($iterable as $key => $value) {

    2. // foreach body
    3. }
    コードをコピー
    5.6.

    標(biāo)準(zhǔn)の try catch ステートメントは次のとおりです。括弧、スペース、中括弧の位置に注意してください。

    1. try {
    2. // 本體を試す
    3. } catch (FirstExceptionType $e) {
    4. // 本體をキャッチ
    5. } catch (OtherExceptionType $e) {
    6. // 本體を試す
    7. }
    コードをコピー

    閉鎖


    クロージャを宣言する場(chǎng)合、キーワード関數(shù)の後とキーワード使用の前後にスペースが必要です。 開(kāi)き中括弧

    は宣言と同じ行に記述する必要があり、閉じ中括弧

    は本文の終わりの直後の行に 続ける必要があります。 パラメータリストと変數(shù)リストの左括弧の後と右括弧の前にスペースがあってはなりません。

    パラメータと変數(shù)のリストでは、カンマの前にスペースを入れてはならず、コンマの後にスペースを入れなければなりません。

    クロージャ內(nèi)のデフォルト値を持つパラメータは、リストの最後に配置する必要があります。 標(biāo)準(zhǔn)的なクロージャー宣言ステートメントは次のとおりです。括弧、コンマ、スペース、中括弧の位置に注意してください。

    $closureWithArgs = function ($arg1, $arg2) {

    // body
    };
      $closureWithArgsAndVars = function ($arg1, $arg2) use ($var1, $var2) {
    1. // body
    2. };
    3. コードをコピー
    4. パラメータ リストと変數(shù)リスト
    は複數(shù)の行に分割できます。そのため、最初のパラメータや変數(shù)を含む各パラメータまたは変數(shù)は
    獨(dú)自の行になければなりません , while リストの閉じ中括弧 とクロージャの開(kāi)き中括弧
    は同じ行に配置する必要があります

    。 次の例には、パラメーターと変數(shù)のリストが複數(shù)の行に分割されている複數(shù)の狀況が含まれています。

    $longArgs_noVars = function (

    $longArgument,
    $longerArgument,
    $muchLongerArgument
      ) {
    1. // body
    2. };
    3. $noArgs_longVars = function () use (
    4. $longバージョン 1 ,
    5. $longerVar2,
    6. $muchLongerVar3
    7. ) {
    8. // body
    9. };
    10. $longArgs_longVars = function (
    11. $longArgument,
    12. $longerArgument,
    13. $muchLongerArgument
    14. ) use (
    15. $longVar1,
    16. $longerV) ar2 、
    17. $ MuchLongervar3 ( $arg) use (
    18. $longVar1,
    19. $longerVar2,
    20. $muchLongerVar3
    21. ) {
    22. // body
    23. };
    24. コードをコピー
    25. クロージャが関數(shù)またはメソッド呼び出しのパラメータとして直接使用される場(chǎng)合、上記のルールは引き続き適用されます。
    26. $foo->bar(
    27. $arg1,
    28. function ($arg2) use ($var1) {
    29. // body
    30. },
    31. $arg3
    32. );
    Copyコード

    まとめ


    上記の仕様には、以下を含む (ただしこれらに限定されない) いくつかの見(jiàn)落としが必然的に含まれます。

    グローバル変數(shù)と定數(shù)の定義

    関數(shù)の定義

    演算子と割り當(dāng)て

    インラインアライメント

    コメントとドキュメントブロック

    クラス名の接頭辭と接尾辭

    ベストプラクティス

    この仕様のその後の改訂と拡張により、上記の欠點(diǎn)が補(bǔ)われます。

    付録 A. アンケート

    この仕様をまとめるために、チームは各メンバーのプロジェクトの共通仕様に関する統(tǒng)計(jì)を収集するためのアンケートを作成しました。
    以下はこのアンケート調(diào)査のデータであり、ここで確認(rèn)できます。

    A.1. アンケートデータ
    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_tyWnmEvo??swKBtSc0tKkZmJA、http://www.chisimba.com,n/a、https://github.com/Respect/project-info/blob/master/coding-standards-sample.php ,n/a、PHP 用オブジェクト體操、http://doc.nette.org/en/coding-standard、http://flow3.typo3.org、https://github.com/propelorm/Propel2/wiki/コーディング標(biāo)準(zhǔn)、http://developer.joomla.org/coding-standards.html
    2. 投票、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、いいえ、いいえ、いいえ、?、はい、いいえ、はい
    3. indent_type,4,4,4,4,4,tab,4,tab,tab,2,4,tab,4,4,4,4, 4,4,tab,tab,4,tab
    4. line_length_limit_soft,75,75,75,75,no,85,120,120,80,80,80,no,100,80,80,?,?,120,80,120,no, 150
    5. line_length_limit_hard,85,85,85,85,no,no,no,no,100,?,no,no,no,100,100,?,120,120,no,no,no,no
    6. class_names,study,study,スタディ、スタディ、スタディ、スタディ、スタディ、スタディ、スタディ、スタディ、下段、スタディ、ロワー、スタディ、スタディ、スタディ、スタディ、スタディ、スタディ、スタディ
    7. class_brace_line、次、次、次、次、次、同じ、次、同じ、同じ、同じ、同じ、次、次、次、次、次、次、次、次、同じ、次、次
    8. 定數(shù)名、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上、上
    9. true_false_null、下、下、下、下、下、下、下、下、下、上、下、下、下、上、下、下、下、下、下、上、下、下
    10. メソッド名、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ローワーアンダー、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ、ラクダ
    11. method_brace_line、次、次、次、次、次、同じ、次、同じ、同じ、同じ、同じ、次、次、同じ、次、次、次、次、次、同じ、次、次
    12. control_brace_line、同じ、同じ、同じ、同じ、同じ、同じ、次、同じ、同じ、同じ、同じ、次、同じ、同じ、次、同じ、同じ、同じ、同じ、同じ、同じ、次
    13. control_space_after、はい、はい、はい、はい、はい、いいえ、はい、はい、はい、はい、いいえ、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい、はい
    14. always_use_control_braces、はい、はい、はい、はい、はい、はい、いいえ、はい、はい、はい、いいえ、はい、はい、はい、はい、いいえ、はい、はい、はい、はい、はい、はい
    15. else_elseif_line、同じ、同じ、同じ、同じ、同じ、同じ、次、同じ、同じ、次、同じ、次、同じ、次、次、同じ、同じ、同じ、同じ、同じ、同じ、次
    16. 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
    17. function_space_after,no,no,いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ
    18. クロージング_php_tag_必須、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、はい、いいえ、いいえ、いいえ、いいえ、はい、いいえ、いいえ、いいえ、いいえ、いいえ、はい、いいえ、いいえ
    19. ラインエンディング、LF、LF、LF、LF、LF、LF、 LF,LF,?,LF,?,LF,LF,LF,LF,?,,LF,?,LF,LF,LF
    20. static_or_visibility_first,static,?,static,どちらか,どちらか,どちらか,可視性,可視性,可視性,どちらか,靜的,どちらか,?,可視性,?,?,どちらか,どちらか,可視性,可視性,靜的,?
    21. control_space_parens,いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、はい、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ、はい、?、いいえ、いいえ、いいえ、いいえ、いいえ、いいえ
    22. blank_line_after_php、いいえ、いいえ、いいえ、いいえ、はい、いいえ、いいえ、いいえ、いいえ、はい、はい、いいえ、いいえ,はい,?,はい,はい,いいえ,はい,いいえ,はい,いいえ
    23. class_method_control_brace,次/次/同じ、次/次/同じ、次/次/同じ、次/次/同じ、次/次/同じ、同じ/同じ/同じ、次/次/次、同じ/同じ/同じ、同じ/同じ/同じ、同じ/同じ/同じ、同じ/同じ/同じ、次/次/次、次/次/同じ、次/同じ/同じ、次/次/次、次/次/同じ、次/次/同じ、次/次/同じ、次/次/同じ、同じ/同じ/同じ、次/次/同じ、次/次/next
    コードをコピー
    A.2. アンケートの指示

    indent_type:
    インデントの種類。tab = "タブ キーを 1 回使用する"、2 または 4 = "スペースの數(shù)"

    line_length_limit_soft:
    1 行あたりの文字?jǐn)?shù)の「ソフト」制限 ? = 回答なし、または回答なし、いいえは制限がないことを意味します。

    line_length_limit_hard:

    1 行あたりの文字?jǐn)?shù)の「ハード」制限 ? = 回答なし、または回答なし、no は制限がないことを意味します。
    class_names:

    クラス名の命名。 lower = 小文字のみが許可されます。 lower_under = アンダースコアで區(qū)切られた小文字、studly = StudlyCase キャメルケース スタイル。


    class_brace_line:

    クラスの左中括弧は、class キーワードと同じ行にありますか、それとも次の行にありますか?


    constant_names:

    クラスの定數(shù)に名前を付けるには? upper = 大文字をアンダースコアで區(qū)切ります。


    true_false_null:

    キーワード true、false、null はすべて小文字ですか、それともすべて大文字ですか?


    method_names:

    メソッド名に名前を付けるには、camel = キャメルケース、 lower_under = アンダースコアで區(qū)切られた小文字を使用します。


    method_brace_line:

    メソッドの左中括弧はメソッド名と同じ行にありますか、それとも次の行にありますか?


    control_brace_line:

    コントロール構(gòu)造の左中括弧は宣言と同じ行にありますか、それとも次の行にありますか?


    control_space_after:

    制御構(gòu)造キーワードの後に??スペースはありますか?


    always_use_control_braces:

    コントロール構(gòu)造は常に中括弧で囲まれていますか?


    else_elseif_line:

    else または elseif

    else または elseif は、前の右中括弧と同じ行にありますか、それとも次の行にありますか?

    case_break_indent_from_switch:

    switch ステートメント內(nèi)の case と Break は、switch に対して何回インデントする必要がありますか?

    function_space_after:

    関數(shù)呼び出しステートメントで、関數(shù)名と変數(shù)リストの左括弧の間にスペースがありますか?

    クロージング_php_tag_required:

    純粋なPHPコードを含むファイルには?>終了タグが必要ですか?

    line_endings:

    どのタイプの行末を選択しますか?

    static_or_visibility_first:

    靜的メソッドを宣言するとき、static はアクセス修飾子の前後に記述する必要がありますか?

    control_space_parens:

    コントロール構(gòu)造內(nèi)で、左括弧の後と右括弧の前にスペースがありますか?はい = if ( $expr )、いいえ = if ($expr)。

    blank_line_after_php:

    PHP では開(kāi)始タグの後に空行が必要ですか?

    class_method_control_brace:

    クラス、メソッド、および制御構(gòu)造の中括弧の位置統(tǒng)計(jì)を開(kāi)始します。
    A.3. アンケート統(tǒng)計(jì)結(jié)果

    TAB: 7
    2: 1
    4: 14
      line_length_limit_soft:
    1. ?: 2
    2. no: 3
    3. 75: 4
    4. 85: 1
    5. 100 100 : 1
    6. 12 0:4
    7. 150: 1
    8. line_length_limit_hard:
    9. ?: 2
    10. no: 11
    11. 85: 4
    12. 100: 3
    13. 120: 2
    14. class_names:
    15. ?: 1
    16. lower: 1
    17. _under: 下位 1
    18. スタディ: 19
    19. class_brace_line:
    20. 次: 16
    21. 同じ: 6
    22. constant_names:
    23. 上: 22
    24. true_false_null:
    25. 下: 19
    26. 上: 3
    27. メソッド名:
    28. キャメル: 21
    29. 下_下: 1
    30. メソッドブレース_ライン:
    31. 次:
    32. 同じ: 7
    33. control_brace_line :
    34. 次: 4
    35. 同じ: 18
    36. control_space_after:
    37. いいえ: 2
    38. はい: 20
    39. always_use_control_braces:
    40. いいえ: 3
    41. はい: 19
    42. else_elseif_line:
    43. 次: 6
    44. 同じ: 16スイッチ:
    45. 0/1: 4
    46. 1/1:4
    47. 1/2:14
    48. function_space_after:
    49. No:22
    50. closing_php_tag_required:
    51. no:
    52. :19 yes:3
    53. line_endings:
    54. ?:5
    55. lf:17
    56. static_or_ivivibility_first:
    57. ?:5
    58. :7°靜的:4
    59. 可視性:6
    60. CONTROL_SPACE_PARENS:
    61. ?:1
    62. いいえ:19號(hào):2
    63. blank_line_line_after_php:
    64. ?:1
    65. No:13
    66. はい:8
    67. class_control_brace:
    68. next/next//次: 4
    69. 次/次/同じ: 11
    70. 次/同じ/同じ: 1
    71. 同じ/同じ/同じ: 6
    72. コードをコピー
    73. Github (PizzaLiu) から転載
    PHP、PSR

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPに認(rèn)証と承認(rèn)を?qū)g裝するにはどうすればよいですか? PHPに認(rèn)証と承認(rèn)を?qū)g裝するにはどうすればよいですか? Jun 20, 2025 am 01:03 AM

tosecurelyhandLeauthenticationAndauthorizationInizationInization、followTheSteps:1.LwayShashPasswordswithPassword_hash()andverifyusingpassword_verify()、usepreparedStatementStatementStatementStatementStatementStain、andstoreUserdatain $ _SessionAfterlogin.2.implementRementRementRementRementRementRementRementRole

PHPでファイルアップロードを安全に処理するにはどうすればよいですか? PHPでファイルアップロードを安全に処理するにはどうすればよいですか? Jun 19, 2025 am 01:05 AM

PHPでファイルアップロードを安全に処理するために、コアはファイルタイプを確認(rèn)し、ファイルの名前を変更し、権限を制限することです。 1。Finfo_File()を使用して実際のMIMEタイプを確認(rèn)し、Image/JPEGなどの特定のタイプのみが許可されます。 2。uniqid()を使用してランダムファイル名を生成し、非webルートディレクトリに保存します。 3. PHP.iniおよびHTMLフォームを介してファイルサイズを制限し、ディレクトリ権限を0755に設(shè)定します。 4. Clamavを使用してマルウェアをスキャンしてセキュリティを強(qiáng)化します。これらの手順は、セキュリティの脆弱性を効果的に防止し、ファイルのアップロードプロセスが安全で信頼性が高いことを確認(rèn)します。

PHPの==(ゆるい比較)と===(厳密な比較)の違いは何ですか? PHPの==(ゆるい比較)と===(厳密な比較)の違いは何ですか? Jun 19, 2025 am 01:07 AM

PHPでは、==と==の主な違いは、タイプチェックの厳格さです。 ==タイプ変換は比較の前に実行されます。たとえば、5 == "5"はtrueを返します。===リクエストは、trueが返される前に値とタイプが同じであることを要求します。たとえば、5 === "5"はfalseを返します。使用シナリオでは、===はより安全で、最初に使用する必要があります。==は、タイプ変換が必要な場(chǎng)合にのみ使用されます。

PHP(、 - 、 *、 /、%)で算術(shù)操作を?qū)g行するにはどうすればよいですか? PHP(、 - 、 *、 /、%)で算術(shù)操作を?qū)g行するにはどうすればよいですか? Jun 19, 2025 pm 05:13 PM

PHPで基本的な數(shù)學(xué)操作を使用する方法は次のとおりです。1。追加標(biāo)識(shí)は、整數(shù)と浮動(dòng)小數(shù)點(diǎn)數(shù)をサポートし、変數(shù)にも使用できます。文字列番號(hào)は自動(dòng)的に変換されますが、依存関係には推奨されません。 2。減算標(biāo)識(shí)の使用 - 標(biāo)識(shí)、変數(shù)は同じであり、タイプ変換も適用されます。 3.乗算サインは、數(shù)字や類似の文字列に適した標(biāo)識(shí)を使用します。 4.分割はゼロで割らないようにする必要がある分割 /標(biāo)識(shí)を使用し、結(jié)果は浮動(dòng)小數(shù)點(diǎn)數(shù)である可能性があることに注意してください。 5.モジュラス標(biāo)識(shí)を採(cǎi)取することは、奇妙な數(shù)と偶數(shù)を判斷するために使用でき、負(fù)の數(shù)を処理する場(chǎng)合、殘りの兆候は配當(dāng)と一致しています。これらの演算子を正しく使用するための鍵は、データ型が明確であり、境界の狀況がうまく処理されるようにすることです。

PHPのNOSQLデータベース(Mongodb、Redisなど)とどのように対話できますか? PHPのNOSQLデータベース(Mongodb、Redisなど)とどのように対話できますか? Jun 19, 2025 am 01:07 AM

はい、PHPは、特定の拡張機(jī)能またはライブラリを使用して、MongoDBやRedisなどのNOSQLデータベースと対話できます。まず、MongoDBPHPドライバー(PECLまたはComposerを介してインストール)を使用して、クライアントインスタンスを作成し、データベースとコレクションを操作し、挿入、クエリ、集約、その他の操作をサポートします。第二に、PredisライブラリまたはPhpredis拡張機(jī)能を使用してRedisに接続し、キー価値設(shè)定と取得を?qū)g行し、高性能シナリオにPhpredisを推奨しますが、Predisは迅速な展開(kāi)に便利です。どちらも生産環(huán)境に適しており、十分に文書化されています。

最新のPHP開(kāi)発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? 最新のPHP開(kāi)発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? Jun 23, 2025 am 12:56 AM

postaycurrentwithpdevellyments andbest practices、follow keynewsourceslikephp.netandphpweekly、egagewithcommunitiessonforums andconferences、keeptooling and gradivallyadoptnewfeatures、andreadorcontributeTopensourceprijeprijeprijeptrijeprijeprests.

PHPとは何ですか、そしてなぜそれがWeb開(kāi)発に使用されるのですか? PHPとは何ですか、そしてなぜそれがWeb開(kāi)発に使用されるのですか? Jun 23, 2025 am 12:55 AM

PhpBecamepopularforwebdevelopmentduetoitseaseaseaseaseasease、SeamlessintegrationWithhtml、widespreadhostingsupport、andalargeecosystemincludingframeworkelavelandcmsplatformslikewordspresspressinsinsionsisionsisionsisionsisionsionsionsisionsionsionsisionsisions

PHPタイムゾーンを設(shè)定する方法は? PHPタイムゾーンを設(shè)定する方法は? Jun 25, 2025 am 01:00 AM

tosettherighttimezoneInphp、usedate_default_timezone_set()functionthestthestofyourscriptwithavalididentifiersiersuchas'america/new_york'.1.usedate_default_timezone_set()beforeanydate/timefunctions.2.2.Altertentally、confuturethephp.inifilebyset.

See all articles