Изучение Zend Framework после Magento: Модели

Я работал с Magento больше года и достаточно хорошо изучил его. Теперь я хочу изучить Zend, и я застрял на моделях.

Я привык иметь сущности и коллекции сущностей в Magento, и, вероятно, я захочу использовать Zend_Db_Table , Zend_Db_Table_Row и / или Zend_Db_Table_Rowset . Что меня смущает, так это роль каждого класса.

Я знаю, что могу расширить каждый класс, и понимаю, что в моем классе Product_Table (который расширяет Zend_Db_Table_Abstract ) это возможно иметь частные методы, которые сообщают Zend, какие классы использовать для строк и наборов строк, однако мне это не нравится.

Наличие этого кода в Magento:

Пример 1

// I understand that maybe I'll use the `new` keyword instead
// Mage::getModel() is only for exemplification
$product = Mage::getModel('catalog/product');
$product->setName('product name');
$product->setPrice(20);
$product->save();

if($id = $product->getId()){
    echo 'Product saved with id' . $id;
}
else{
    echo 'Error saving product';
}

Пример 2

$collection = Mage::getModel('catalog/product')->getCollection();
// this is the limit, I'm ok with other method's name
$collection->setPageSize(10);
$collection->load()

foreach($collection as $product){
    echo $product->getName() . ' costs ' . $product->getPrice() . PHP_EOL;
}

Как Могу ли я реализовать нечто подобное в Zend Framework? В качестве альтернативы, если это действительно плохая идея, как лучше всего реализовать модели в Zend Framework?

Спасибо

9
задан tereško 5 August 2013 в 14:51
поделиться