示例#1
0
 /**
  * Creates a Piece_ORM_Metadata object for the given table.
  *
  * @param string $tableName
  * @return Piece_ORM_Metadata
  * @static
  */
 function &factory($tableName)
 {
     $context =& Piece_ORM_Context::singleton();
     if (!$context->getUseMapperNameAsTableName()) {
         $tableName = Piece_ORM_Inflector::underscore($tableName);
     }
     $tableID = sha1($context->getDSN() . ".{$tableName}");
     if (!array_key_exists($tableID, $GLOBALS['PIECE_ORM_Metadata_Instances'])) {
         $metadata =& Piece_ORM_Metadata_Factory::_createMetadata($tableName, $tableID);
         if (Piece_ORM_Error::hasErrors()) {
             $return = null;
             return $return;
         }
         $GLOBALS['PIECE_ORM_Metadata_Instances'][$tableID] =& $metadata;
     }
     return $GLOBALS['PIECE_ORM_Metadata_Instances'][$tableID];
 }