Zend framework - Почему я должен использовать Data Mapper / Db_Table_Row?

Расширенный вопрос: зачем мне использовать средство отображения данных / Db_Table_Row, где, поскольку DbTable может обрабатывать большинство основных задач по манипулированию данными.

В настоящее время я работаю изучение ZF v1.11

Для работы с базой данных я создал DbTable для каждой таблицы. Например, таблица «пользователи» представлена ​​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) как DataMapper в ZF-Tutorials)

// By, adding this to the DbTable class
protected $_rowClass = 'Application_Model_User';

Каковы преимущества наличия класса Row для каждой сущности? Может ли кто-нибудь указать мне на лучшие практики для этого.

22
задан Hossain Khan 30 January 2011 в 15:26
поделиться