gpt4 book ai didi

php - Magento 设计模式

转载 作者:IT王子 更新时间:2023-10-29 01:04:16 24 4
gpt4 key购买 nike

Magento,恕我直言,代表了一个基于深思熟虑的编码原则构建的 PHP 系统 - 可重用的设计模式就是其中之一。就 PHP 系统的示例而言,我认为它可以被认为是非常先进的,因此值得从架构的角度考虑。

据我了解,OOP 开发人员可以使用许多设计模式。看到此类模式被用于 Magento 等开源系统,开发人员可以在实际使用中和现场查看此类模式的示例,而不是在有时可能相当僵化甚至有点误导的示例中。

因此,我想知道除了我在下面列出的模式之外,Magento 程序员在为 Magento 开发时使用了哪些模式。

请注意,我知道其中一些模式是在 Zend Framework 上构建的结果,MVC/Front Controller 是其中的一对,

最明显的是:

工厂:

$product = Mage::getModel('catalog/product');

单例:

$category = Mage::getSingleton('catalog/session');

注册表:

$currentCategory = Mage::registry('current_category');

最佳答案

原型(prototype):

Mage:getModel('catalog/product')->getTypeInstance();

事件观察者对:

# PHP
Mage::dispatchEvent('event_name', array('key'=>$value));

# config.xml
<config>
<global>
<events>
<event_name>
<observers>
<unique_name>
<class>Class_Name</class>
<method>methodName</method>
</unique_name>
</observers>
</event_name>
</events>
</global>
</config>

对象池:

$id = Mage::objects()->save($object);
$object = Mage::objects($id);

迭代器:

Mage::getModel('catalog/product')->getCollection();

关于php - Magento 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5041473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com