Magento中Mage::getSingleton函数

来源:互联网 发布:梦里花落知多少解释 编辑:程序博客网 时间:2024/05/06 20:57

getSingleton最终也是返回一个Mage_Core_Model_Abstract子类对象,但是其和getModel函数最大的区别是 永远只生成一个对象,并将生成的对象通过Mage::registry函数注册到magento系统当中,再次执行getSingleton时获取到上一 次生成的对象。 我们通过以下的系统源代码可以清楚的看到其和getModel函数的区别。

/**  * Retrieve model object singleton  * @param   string $modelClass  * @param   array $arguments  * @return  Mage_Core_Model_Abstract  */  public static function getSingleton($modelClass='', array $arguments=array())  {      $registryKey = '_singleton/'.$modelClass;      if (!self::registry($registryKey)) {          self::register($registryKey, self::getModel($modelClass, $arguments));      }      return self::registry($registryKey);  }
原创粉丝点击