빠른 질문이 있습니다. 젠드 프레임 워크 1을 사용하고 있으며 데이터 매퍼를 사용하고 있습니다. 여기 내 코드는 다음과 같습니다.데이터 매퍼 종속성
<?php
// application/model/Pos.php
class Application_Model_Pos extends Zend_Db_Table_Abstract
{
protected $_name = 'pos';
}
// application/model/MapperAbstract.php
abstract class Application_Model_MapperAbstract
{
private $_dbTable;
public function __construct(Zend_Db_Table_Abstract $dbTable)
{
$this->_dbTable = $dbTable;
}
public function findById($id)
{
$select = $this->_dbTable()->select()->where('id = ?', $id)->limit(1);
$row = $this->_dbTable()->fetchAll($select)->toArray();
if(!empty($row))
{
$this->_createEntity($row);
}
}
protected function _createEntity(array $row);
}
// application/model/PosMapper.php
class Application_Model_PosMapper extends Application_Model_MapperAbstract
{
public function __construct()
{
parent::__construct(new Application_Model_Pos());
}
protected function _createEntity(array $row)
{
return new Sb_Pos($row['name']);
}
// application/library/Sb/Pos.php
class Sb_Pos
{
public function __construct($name)
{
$this->_name = $name;
}
}
?>
이 코드를 사용하면 테이블 종속성을 어디에서 처리해야합니까? 매퍼가 다른 매퍼를 알고 있어야합니까? 서비스 계층이 필요합니까?
도움 주셔서 감사합니다.
mappers로 lazyloading에 대한 http://www.survivethedeepend.com, 9 장을 알려 드리고 싶습니다. 그러나이 특정 사이트에서 다운 것으로 보인다. –