西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

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

时间:2015-04-25 01:32来源:未知 作者:好模板 点击:
概念不细说了,这边记录用Magento单例模式:例如Mage::app(),Mage::getSingleton(catalog/product) magento工厂模式:一般在xml配置。 magento观察者模式:事件监听,event。如果找到改事件呢?比如M

概念不细说了,这边记录用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。

 
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容