mage_core_model_resource---------系统资源模型分析!!!!

原创 2011年01月15日 12:00:00
mage_core_model_resource_abstract.php 1.1 //* Instances of classes for connection types protected $_connectionTypes = array(); 1.2 //Instances of actual connections protected $_connections = array(); 1.3 // Creates a connection to resource whenever needed @return mixed public function getConnection($name) 1.4 //被getConnection调用 protected function _getDefaultConnection($requiredConnectionName) 1.5 //Get connection type instance @return Mage_Core_Model_Resource_Type_Abstract public function getConnectionTypeInstance($type) 1.6 //Get resource entity @return Varien_Simplexml_Config public function getEntity($model, $entity) 1.7 //Get resource table name @return string public function getTableName($modelEntity) 1.8 public function createConnection($name, $type, $config) 基本上是表信息的取得,在varien_db_adapter_pro_mysql的基础上取到connection。 **************************************************************************** 由此类引申出来如可得到配置文件里面的table值--> $resourceModel = (string) Mage::getConfig()->getNode()->global->models-> {$model}->resourceModel; $entityConfig = $this->getEntity($resourceModel, $entity); if ($entityConfig) { $tableName = (string)$entityConfig->table; 附上一段配置文件代码: Mage_Catalog_Model catalog_resource_eav_mysql4 Mage_Catalog_Model_Resource_Eav_Mysql4 catalog_product_entity
2 abstract class Mage_Core_Model_Resource_Abstract 2.1 // * Start resource transaction @return Mage_Core_Model_Resource_Abstract public function beginTransaction() { $this->_getWriteAdapter()->beginTransaction(); return $this; } 2.2 //Subscribe some callback to transaction commit @return Mage_Core_Model_Resource_Abstract public function addCommitCallback($callback) 2.3 //Commit resource transaction @return Mage_Core_Model_Resource_Abstract public function commit() 2.4 //Roll back resource transaction @return Mage_Core_Model_Resource_Abstract public function rollBack() 2.5 // Format date to internal format public function formatDate($date, $includeTime=true) 2.6 public function mktime($str) 2.7 //Serialize specified field in an object protected function _serializeField(Varien_Object $object, $field, $defaultValue = null, $unsetEmpty = false) 2.8 //Unserialize Varien_Object field in an object protected function _unserializeField(Varien_Object $object, $field, $defaultValue = null) 数据库 2.1 事务方面的处理, 2.2 序列化字段 2.3 时间等格式处理。 比较明显的就是事务的处理!! 3 由 abstract class Mage_Core_Model_Resource_Abstract 可以延伸至 abstract class Mage_Core_Model_Resource_Type_Abstract protected $_entityClass = 'Mage_Core_Model_Resource_Entity_Abstract'; public function getEntityClass() { return $this->_entityClass; } public function setName($name) { $this->_name = $name; } public function getName() { return $this->_name; } 4 延伸至 abstract class Mage_Core_Model_Resource_Entity_Abstract { protected $_name = null; protected $_config = array(); public function __construct($config) { $this->_config = $config; } public function getConfig($key='') { if (''===$key) { return $this->_config; } elseif (isset($this->_config->$key)) { return $this->_config->$key; } else { return false; } } } 5 class Mage_Core_Model_Resource_Type_Db_Pdo_Mysql extends Mage_Core_Model_Resource_Type_Db 5.1 //* @return Varien_Db_Adapter_Pdo_Mysql public function getConnection($config) 5.2 //* Create and return DB adapter object instance @param array $configArr Connection config @return Varien_Db_Adapter_Pdo_Mysql protected function _getDbAdapterInstance($configArr) 5.3 * Retrieve DB adapter class name * @return string */ protected function _getDbAdapterClassName() //得到----> Varien_Db_Adapter_Pdo_Mysql,做一个桥梁!!! 总体来说resource这块的功能,作为一个连接varien_db_adapter_pro_mysql的桥梁,得 到连接 又通过xml得到配置信息的表,主键等信息,为数据库操作作准备。同时有数据库事务方 面的处理。数据格式的处理
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

2010-1-3------mage_core_model_config------------construct过程----------------个人分析

1/ Core configuration classmage_core_model_config 变量:1.1const CACHE_TAG         = 'CONFIG';1.2 /**  ...

管理系统资源分析及其开发

  • 2011年06月30日 13:29
  • 1KB
  • 下载

php-fpm占用系统资源分析

故障检测 1.别的先不管,先top看一下cpu、ram、swap哪个比较紧张。     由上图分析,可以看出共有602个进程,其中有601个进程休眠了。这好像有点不对劲,内核进...

(莱昂氏unix源代码分析导读-44) 文件系统资源

by cszhao1980 一个设备被mount进系统后,就被称为一个文件系统。它有两类资源: (1)         磁盘inode资源; (2)         普通盘块资源。 1. 磁盘...

LR杂记--Loadrunner分析系统资源

1. 平均事务响应时间    Average Transation Response Time 优秀:   良好:2-5s   及格:6-10s   不及格:>10s 2...

android系统资源预加载和缓存原理分析

一、系统资源预加载    android系统资源加载分两种方式,预加载和在使用进程中加载。      预加载是在zygote进程启动的时候被执行,一般系统中多应用共享的资源会被列为预加载资源,预加载...

Spectrum公司记录系统资源

  • 2015年05月25日 22:19
  • 4.4MB
  • 下载

Windows系统资源不足的七种处理方法

我们在使用电脑的过程中,如果你系统的配置不是很高,那么经常可能会出现系统资源不足的提示,当然配置以外的其它情况也会造成系统资源的不足。面对系统资源不足的情况我们应该怎么处理呢?请看下面的七种方法。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mage_core_model_resource---------系统资源模型分析!!!!
举报原因:
原因补充:

(最多只允许输入30个字)