首页 > 其他 > 详细

Mageton 单例模式,工厂模式,观察者模式

时间:2015-04-21 17:39:07      阅读:300      评论:0      收藏:0      [点我收藏+]

概念不细说了,这边记录用Magento单例模式:例如Mage::app(),Mage::getSingleton(‘catalog/product‘)

magento工厂模式:一般在xml配置。

magento观察者模式:事件监听,event。如果找到改事件呢?比如Mage::getSingleton(‘catalog/product‘)->load(1),会执行哪些事件呢?

在mage.php文件里面

 

    public static function dispatchEvent($name, array $data = array())
    {
        Varien_Profiler::start(‘DISPATCH EVENT:‘.$name);
        Mage::log($name,null,‘event.log‘,true);
        $result = self::app()->dispatchEvent($name, $data);
        Varien_Profiler::stop(‘DISPATCH EVENT:‘.$name);
        return $result;
    }

 

然后就可以在event.log查看改事件

print_r(array_keys($observer->getEvent()->toArray()));  来获取事件名

 

magento层层调用对象,如何查看当前对象呢?比如:$category=Mage::getModel(‘catalog/category‘);

var_dump(get_class($category)); 即可

查看collection中的sql$collection=Mage::getModel(‘catalog/category‘)->getCollection();

echo $collection->getSelect();exit();

 

后台页面,前台页面 开启路径提示 就可以看到block。

 

Mageton 单例模式,工厂模式,观察者模式

原文:http://www.cnblogs.com/varliny/p/4444836.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!