これが他の場所で回答されている場合は申し訳ありません。私の検索では、探していた回答が得られませんでした。
仮に、書店向けのアプリケーションを作成しているとしましょう。
すべてのデータベース トランザクションを処理するクラスがあります。Database クラスを拡張する 'Book' クラスもあり、独自のコンストラクターから Database コンストラクターを呼び出して、最初に Database クラスをインスタンス化する必要がなくなります。
class Book extends Database {
__construct($book_id){
parent::__construct();
$this->databaseGet("SELECT * FROM..."); // method in Database class
etc...
}
}
「Book」クラス コンストラクターに参照 ID を渡し、その本に関するデータベースから取得した情報を含むオブジェクトを、特定の本に関連するいくつかのメソッドと共に作成できます。
しかし、データベース内のすべての本もリストしたいと思います。私の質問は、このメソッドと、「Book」などのコンテキストを持たない他のメソッドをどこに配置すればよいかということです。
Database クラスを拡張する単一の「GetStuff」または「Bookshop」クラスを作成できます。このクラスには、これらすべての使い捨てメソッドが含まれます。ただし、これらの孤立したメソッドはプログラム全体で使用されるため、常にロードする必要があります。
1 つのメソッドを格納するクラスを多数作成できますが、メソッドを呼び出すためにクラスをオブジェクトにインスタンス化する必要があり、やり過ぎのように思えます。
それらは一般的な公益事業ではなく、ビジネス モデルの一部です。これらの孤立したメソッドをどこに置くべきですか?