Exemple #1
0
 /**
  * 
  * @param string $className
  * @param string $dbInstanceKey
  */
 public static function registerTableNames($className = null, $dbInstanceKey = null)
 {
     if ($className === null) {
         $className = self::getCallerClassName();
     }
     if ($dbInstanceKey === null) {
         $dbInstanceKey = self::getCallerDbInstanceKey();
     }
     $sqlFiles = self::getCallerSQLFiles();
     self::$tableSQLFiles = array_merge(self::$tableSQLFiles, $sqlFiles);
     if (!class_exists($className)) {
         throw new RuntimeException("Class '{$className}' doesn't exists or it is not loaded!");
     }
     $reflection = new ReflectionClass($className);
     foreach ($reflection->getConstants() as $key => $value) {
         if (substr($key, 0, strlen(self::TABLE_NAMES_BEGIN)) == self::TABLE_NAMES_BEGIN) {
             if (!self::isSetTableName($key, $className, $dbInstanceKey)) {
                 self::setTableName($key, $value, $className, $dbInstanceKey);
             }
         }
     }
 }