Ruby on Railsのように、PHPで真のModel Layerを使用することは可能でしょうか? Zend Frameworkでは、モデルを作成できますが、これはクラスです。私が知っているように、あなたは自分ですべての論理を書く必要があります。Zend Framework Model
ソリューション?
Ruby on Railsのように、PHPで真のModel Layerを使用することは可能でしょうか? Zend Frameworkでは、モデルを作成できますが、これはクラスです。私が知っているように、あなたは自分ですべての論理を書く必要があります。Zend Framework Model
ソリューション?
実際、Zend Frameworkでは、アクセスしたいデータベーステーブルのクラスを宣言する必要があります。しかし、デフォルトの動作が十分であれば、残りは暗黙的に行うことができます。これは、例えば、あなたが「バグ」という名前のテーブルにアクセスできなければならない
class bugs extends Zend_Db_Table_Abstract
{
// table name matches class name
}
:
$table = new bugs();
$data = array(
'created_on' => '2007-03-22',
'bug_description' => 'Something wrong',
'bug_status' => 'NEW'
);
$table->insert($data);
ここでも、一例を直接撮影された次は、有効かつ機能的なモデルクラス(http://framework.zend.com/manual/en/zend.db.table.html#zend.db.table.introductionと比較)であります上記のドキュメントから。
かは1.8.x以降のモデルに使用DataMapperのパターンがある(マニュアルのクイックスタートを参照してください)
実際にはありません。これはフレームワークによっては決して強制されません。それはまだ開発者次第です。 – jason
私は知っている:)それはちょうど私の悪い英語です:) –
私はあなたのニーズを、スイートかもしれないスクリプトを書きました。
ZFはつまり、ZFは「大会以上の構成」のではなく、反対である、Railsのの反対のパラダイムに従っています。多くは、モデル層全体のように、開発者に任せられます。これが私が好きな理由です。 – jason
古いスレッド私は知っていますが、RoR(および他の多くのフレームワーク)は、モデルクラスが1:1をデータテーブルにマッピングするという神話に浸透してきました。モデルクラスは主に...実際のコードから何かをモデリングすることに関係しています。モデルは、主にデータ永続性の手段となるものではありません。 RoRが好んでいるアクティブレコードパターンは、モデルとデータアクセスオブジェクトの区別を曖昧にしており、Web開発コミュニティの多くは、それらが同一であると信じています。 – sunwukung
@sunwukungモデルとdbaccessは1:1であることは意図されていませんが、大多数のWebアプリケーションでは、その単純さが時間と頭痛を軽減します。ほとんどのWebアプリケーションでは、実世界のオブジェクトを表すモデルは実際には必要ありません。 DBテーブルを表すモデルが必要です。ほとんどのWebアプリケーションは、ユーザーとDBの間のシンクライアントです。 –