abstract------------------------mysql4_abstract--------------mysql4_collection_abstract--------------------内核类的函数分析!!!

原创 2011年01月15日 00:12:00

内核函数

mage_core_model_abstract

mage_core_model_mysql4_abstract

mage_core_model_mysql4_collection_abstract

 

使用mage::getmodel(core/abstract)的时候会指定$this->_resourceName和$this->_resourceCollectionName。

对于使用,已经做好文档,

 

下面这些是介绍上面三个系统类功能:

 

1.

mage_core_model_abstract

extends Varien_Object

 

1.1

//Set resource names

function _setResourceModel

1.2

//Get resource instance   @return Mage_Core_Model_Mysql4_Abstract

public function _getResource()

1.3

//Retrieve identifier field name for model      @return string

 public function getIdFieldName()

 

1.4

//Retrieve model object identifier  @return mixed

public function getId()

 

1.5

//Declare model object identifier value    @return  Mage_Core_Model_Abstract

public function setId($id)

 

1.6

//Retrieve model resource name   @return string

 public function getResourceName()

 

1.7

//Get collection instance         @return object

public function getResourceCollection()

 

1.8

//

public function getCollection()   ---->return $this->getResourceCollection();

 

1.9

// * Load object data           @return  Mage_Core_Model_Abstract

 public function load($id, $field=null)

 

1.10

//Save object data    @return Mage_Core_Model_Abstract

 public function save()

1.11

//Remove model onject related cache    @return Mage_Core_Model_Abstract

public function cleanModelCache()

 

1.12

//Delete object from database     @return Mage_Core_Model_Abstract

public function delete()

 

1.13

 public function getResource()

    {

        return $this->_getResource();

    }

 

故:mage_core_model_abstract

1.1

只能处理一些简单的关于数据库的操作。

在操作的时候,数据保存在自身的变量里面,只能进行save,delete,load等这些简单的操作。

1.2

得到mage_core_model_mysql4_abstract

mage_core_model_mysql4_collection_abstract的实例化对象。

1.3

得到id方面的函数

1.4

内存方面的函数

1.5

before,after,地球人都知道。

 

总体来说,作为一个入口,又能做一些简单的操作

 

2

mage_core_model_mysql4_abstract

extends Mage_Core_Model_Resource_Abstract

 

2.1

初始化

//

protected function _init($mainTable, $idFieldName)

    {

$this->_setMainTable($mainTable, $idFieldName);

}

2.1

//* Initialize connections and tables for this resource model

protected function _setResource($connections, $tables=null)

 

2.2

//Set main entity table name and primary key field name   @return Mage_Core_Model_Mysql4_Abstract

 protected function _setMainTable($mainTable, $idFieldName=null)

 

 

2.3

//Get primary key field name

public function getIdFieldName()

 

2.4

//* Get main table name

public function getMainTable()

 

2.5

// * Get table name for the entity

public function getTable($entityName)

 

2.6

//Retrieve table name for the entity separated value

public function getValueTable($entityName, $valueType)

 

2.7

//* Get connection by name or type

protected function _getConnection($connectionName)

 

2.8

// * Retrieve connection for read data   @return  Zend_Db_Adapter_Abstract

protected function _getReadAdapter()

 

2.9

//* Retrieve connection for read data  @return  Varien_Db_Adapter_Pdo_Mysql

 protected function _getReadAdapter()

 

2.10

Retrieve connection for write data   @return  Varien_Db_Adapter_Pdo_Mysql

protected function _getWriteAdapter()

 

2.11

//Temporary resolving collection compatibility

@return Varien_Db_Adapter_Pdo_Mysql

 public function getReadConnection()

 

2.12

//* Load an object   @return  Mage_Core_Model_Mysql4_Abstract

public function load(Mage_Core_Model_Abstract $object, $value, $field=null)

 

2.13

//Retrieve select object for load object data   @return  Zend_Db_Select

protected function _getLoadSelect($field, $value, $object)

 

2.14

// * Save object object data

@param   Mage_Core_Model_Abstract $object

@return  Mage_Core_Model_Mysql4_Abstract

public function save(Mage_Core_Model_Abstract $object)

 

2.15

//Delete the object

@param Varien_Object $object

@return Mage_Core_Model_Mysql4_Abstract

 public function delete(Mage_Core_Model_Abstract $object)

 

2.16

// * Add unique field restriction

  public function addUniqueField($field)

 

2.17

//* Unserialize serializeable object fields

public function unserializeFields(Mage_Core_Model_Abstract $object)

 

2.18

// Serialize serializeable fields of the object

 protected function _serializeFields(Mage_Core_Model_Abstract $object)

 

2.19

 

2.1

字段序列化

2.2

唯一字段值的一系列操作

2.3

表,id,资源的初始化,以及操作

2.4

读写适配器的得到

2.5

对Mage_Core_Model_Abstract $object的save,delete快速操作。

 

Mage_Core_Model_mysql4_Abstract是数据操作的前序工作的实现,比如得到connection,readAdapter,table等的得到。

 

3

mage_core_model_mysql4_collection_abstract

 

3.1

//* Get Zend_Db_Select instance and applies fields to select if needed     @return Varien_Db_Select

 

public function getSelect()

 

 

3.2

//Retrieve initial fields to select like id field

@return array

protected function _getInitialFieldsToSelect()

 

3.3

 protected function _initInitialFieldsToSelect()

3.4

 public function addFieldToSelect($field, $alias = null)

3.5

  public function removeFieldFromSelect($field, $isAlias = false)

3.6

//* @return Mage_Core_Model_Mysql4_Collection_Abstract

 public function removeAllFieldsFromSelect()

3.7

 Get resource instance

 @return Mage_Core_Model_Mysql4_Abstract

public function getResource()

3.8

 public function getTable($table)

3.9

 //Retrive all ids for collection

 @return array

public function getAllIds()

3.10

 public function join($table, $cond, $cols='*')

3.11

    public function save()

 

3.1

内存方面的操作

3.2

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

面对对象4【抽象abstract】【接口interface】【多态】【instanceof关键字】【Object类】

一、抽象类(AbstractClass) 1、抽象:就是从多个事物中将共性的,本质的内容抽取出来。      简单说:就是看不懂的、模糊的、不具体的事物。 2、抽象类:表示具体功能不明确的,被abst...

C#设计模式(4)——抽象工厂模式(Abstract Factory)

一、引言 在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的...

黑马程序员_学习笔记:4) 面向对象2:继承、this、super、finally、Abstract、模板设计模式、接口

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------    继 承(面向对象特征之一) 好...
  • awangk2
  • awangk2
  • 2014年04月28日 15:15
  • 239

极速理解设计模式系列:4.抽象工厂模式(Abstract Factory Pattern)

五个角色:抽象产品角色(AbstractProduct)、具体产品角色(Product)、抽象工厂角色(AbstractFactory)、具体工厂角色(ConcreteFactory)、客户端(Cli...

Java + 面向抽象abstract类与函数实现(计算三角形、圆形的面积)

本次进行面向抽象abstract类与函数实现,其内功能为计算三角形和圆形的面积。 所谓面向抽象编程是指当设计某种重要的类时,不让该类面向具体的类,而是面向抽象类,及所设计类中的重要数据是抽象类声明...

关于基类中函数修饰符abstract和virtual的使用

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...

Return to the Basic - 纯虚函数(pure virtual)和抽象类(abstract class)

纯虚函数(pure virtual function)是指在基类中声明但是没有定义的虚函数。 通用形式: virtual type func-name(parameter-list)=0; ...

abstract抽象类

  • 2016年06月07日 12:13
  • 2KB
  • 下载

抽象类(abstract class)和接口(interface)分析

个人博客:www.letus179.com概念抽象类:包含抽象方法的类就称为 抽象类; 接口: 抽象方法的集合,方法没有具体实现即不包含方法体。两者异同相同点 都不能被实例化; 接口的实现类或抽象类...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:abstract------------------------mysql4_abstract--------------mysql4_collection_abstract--------------------内核类的函数分析!!!
举报原因:
原因补充:

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