4

優れた設計とは、各関数を 1 回だけ記述することです。PHP では、インクルード ファイル (Utils.php や Authenticate.php など) と PHP コマンド include_once を使用してこれを行っています。ただし、PHP インクルード ファイルの標準やベスト プラクティスを見つけることができませんでした。StackOverflow で何を提案しますか?

を探しています:

  • 命名基準
  • コード基準
  • デザインパターン
  • 一般的な関数の戻り値の型を定義するための提案 (現在は連想配列を使用しています)。
4

4 に答える 4

7

私が好んで使用する規則の 1 つは、ClassName.class.php という名前の独自のファイルに各クラスを配置し、クラス ファイルをインクルードするようにオートローダーをセットアップすることです。または、それらすべてを classes/ サブディレクトリに配置して、単に ClassName.php という名前を付けることもあります。私が期待しているクラスと非クラスのインクルードの数によって異なります。

ユーティリティ関数をクラスに整理し、代わりにそれらを静的メソッドにすると、最上位ファイルに1 つのrequire_once()を記述するだけで済みます。このアプローチは、コードやコーディング スタイルに適している場合とそうでない場合があります。

戻り値の型に関しては、組み込み関数で使用される規則に従うようにしています。リクエストに適した型を返すか、失敗した場合は false を返します。結果の false をチェックするときは、必ず=== 演算子を使用してください。

慣習について心配しているという事実は、あなたがすでに正しい方向に進んでいることを示唆しています。Java、C++、C# などの他の OOP 言語に精通している場合は、PHP5 の OOPの利点のおかげで、多くの同じ規則に従うことができます。

于 2009-03-02T15:12:56.410 に答える
2

そのような標準のいくつかはすでに書かれています。ほとんどの大規模なプロジェクトは、独自の標準に従います。

これは Zend によって書かれたもので、Zend フレームワークで使用される標準です。 http://framework.zend.com/manual/en/coding-standard.html

また、PEAR には常にかなり厳格なコーディング基準がありました: http://pear.php.net/manual/en/standards.php

ただし、私の好みの答えは、自分のプロジェクトでは、自分が快適に感じるものを使用し、内部的に一貫性を保つべきだというものです。他のプロジェクトについては、そのルールに従います。一貫性により、コードの可読性が最大限に高まります。私自身の基準は PEAR のものと同じではありません。私は 4 つのスペースでインデントせず (タブを使用します)、関数名のようなキャメル ケースも使用しませんが、別のプロジェクトから何かを編集している場合は、そのプロジェクトが行うことは何でも使用します。

于 2009-03-02T14:51:36.150 に答える