私のチャットアプリケーションについて聞いてうんざりしていない場合は...アプリケーションの主要部分である、すべてのバックエンド作業を行う部分は「models」ディレクトリにあります。このクラスはAEDC_Model_Chat(AEDCは名前空間)と呼ばれますが、この特定のクラスは実際には「オブジェクト」ではありません。インスタンス化されることはなく、静的メソッドのみを公開します。
ですから、これは実際にはモデルではなく、実際には「モデル」に属していないのではないかと思います。何かご意見は?
私のチャットアプリケーションについて聞いてうんざりしていない場合は...アプリケーションの主要部分である、すべてのバックエンド作業を行う部分は「models」ディレクトリにあります。このクラスはAEDC_Model_Chat(AEDCは名前空間)と呼ばれますが、この特定のクラスは実際には「オブジェクト」ではありません。インスタンス化されることはなく、静的メソッドのみを公開します。
ですから、これは実際にはモデルではなく、実際には「モデル」に属していないのではないかと思います。何かご意見は?
IMO、静的ベースのクラスが/modelsディレクトリに存在することは問題ないと思います。PropelとDoctrineを使用する場合、それらには(それぞれ)PeerクラスとTableクラスがあり、インスタンス化されることは決してありません。代わりに、関連付けられているオブジェクトにビジネスロジックを実装することを目的としています。dirリストの例:
// Propel
/lib/model/mydb
Vehicle.php // Instantiable
VehiclePeer.php // Works with vehicle object(s)
// Doctrine
/lib/model/mydb
Vehicle.php // Instantiable
VehicleTable.php // Works with vehicle object(s)
- アップデート -
修正を行う必要があります(答えは変更されません)。教義に関しては、「* Table」クラスをインスタンス化できますが、含まれているメソッドが動作するようになっているという点で、上記と同じように動作します。関連するオブジェクト。「静的」クラスの使用法は、Propelの動作方法に近く、前述したように、/modelディレクトリに存在することが許容されます。