クラスの整理 - ベストプラクティス?
-
03-10-2019 - |
質問
PHPクラスでのベストプラクティスに関する簡単な質問。私は人々が次のようなファイル名を使用しているのを見てきました something.class.php
外部ファイルでクラスを整理します。
したがって、クラスごとに1つのファイル、またはファイルごとに複数のクラスを持つことがベストプラクティスです。
現時点では、私はRPGをスクリプトしていて、シングルを持っています class_lib.php
ファイル。現在、文字関連のクラスがありますが、さらに進む前に、クラスをファイルにグループ化するか、すべてのクラスを1つのファイルに保持するか、各クラスを独自のファイルに保管する方が適切かどうかを知りたいと思います。
各アプローチの利点/欠点は何ですか?
明確な答えがないかもしれないので、このCWを作りました
解決
それらは両方のアプローチの長所と短所です。クラスを個別のファイルに分離すると、クラスを更新する必要があるかどうかを変更するファイルを即座に把握し、そのクラスに関連するすべてのロジックを同じ場所に保持できます。また、ソースコードリポジトリの観点から、ファイルを個別にするために有益です。大量のファイルを含めるために負荷量を増やしますが、これはほとんど無視できます。もう1つの欠点は、コーディングの過程で多数のファイルを開く必要があることです。また、構造でフォルダーを使用することにした場合、ナビゲートするのは苦痛です。
同じファイルに関連するクラスを持つことは何よりも便利であり、変更する必要があるクラスを保持するファイルを把握するのを混乱させることができます。
あなたのプロジェクトがひどく大きくない場合、それをどのように整理したいかについては、おそらくあなた次第です。しかし、「6か月でコードに触れない場合、このクラスを編集する場所を覚えている」という点で考えてみてください。
他のヒント
クラスごとに1つのファイル、AutoLoadが必要な場合にのみ含めるための1つのファイル
クラスを個別のファイルに保持すると、可能になります オートローディング. 。おそらく、一部のクラス(そうでなければ1つの大きなファイルを入力する)がめったに使用されない場合、パフォーマンスに役立つ可能性があります(NB、これは単なる盲目の推測です。オートロード自体がパフォーマンスコストを相殺する可能性があります。)
味とクラスのサイズに依存します。分離は純粋に組織向けです。したがって、1つのファイル、またはファイルごとに1つのクラスで簡単になると思われる場合は、あなたに依存します。
利点:あなたが望むものを見つけるのは簡単です。スクロールが少ない!
短所:ファイル間の一定の切り替え。その場で新しいクラスを作るとき、迷惑になるかもしれません。
1つのクラス、1つのファイル。 IMO、組織の観点から簡単です。
他のヒント:
- 継承とパラメーターリストのレベルを絶対的な最小値に保ちます。 5または6以上が少し複雑になりすぎます
- 最も制限的なスコープ予選を使用します