示例#1
0
 /**
  * __construct() - For concrete implementation of JO_Db_Table
  *
  * @param string|array $config string can reference a JO_Registry key for a db adapter
  *                             OR it can reference the name of a table
  * @param array|JO_Db_Table_Definition $definition
  */
 public function __construct($config = array(), $definition = null)
 {
     if ($definition !== null && is_array($definition)) {
         $definition = new JO_Db_Table_Definition($definition);
     }
     if (is_string($config)) {
         if (JO_Registry::isRegistered($config)) {
             trigger_error(__CLASS__ . '::' . __METHOD__ . '(\'registryName\') is not valid usage of JO_Db_Table, ' . 'try extending JO_Db_Table_Abstract in your extending classes.', E_USER_NOTICE);
             $config = array(self::ADAPTER => $config);
         } else {
             // process this as table with or without a definition
             if ($definition instanceof JO_Db_Table_Definition && $definition->hasTableConfig($config)) {
                 // this will have DEFINITION_CONFIG_NAME & DEFINITION
                 $config = $definition->getTableConfig($config);
             } else {
                 $config = array(self::NAME => $config);
             }
         }
     }
     parent::__construct($config);
 }