Zend框架 - 为什么我应该使用数据映射器/Db_Table_Row?
扩展问题:为什么我应该使用数据映射器/Db_Table_Row,因为DbTable能够处理数据操作的大多数基本任务。
我目前正在学习采埃孚 v1.11
对于数据库操作,我为每个表创建了 DbTable。例如,“users”表由Application_Model_DbTable_Users表示,其中没有其他代码。
操作数据时,我可以使用:
<?php
$uTable = new Application_Model_DbTable_Users();
$newUid = $uTable->insert(array('name'=>'Old Name', 'email'=>''));
$user = $uTable->find($newUid)->current();
// Then I can use $user which is instance of Table_Row
$user->name = "New Name";
$user->email = "email@addr.com";
$user->save();
我的问题是,我什么时候需要定义一个行类(假设Table_Row在ZF教程中被称为DataMapper)
// By, adding this to the DbTable class
protected $_rowClass = 'Application_Model_User';
为每个实体设置一个 Row 类有什么好处?任何人都可以向我指出这方面的最佳实践。