function &create($className) { $type = CRM_Utils_Array::value($className, $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_classes']); if (!$type) { return CRM_Core_DAO_Factory::create($className); } $file = $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_prefix'][$type] . $className; $class = str_replace('/', '_', $file); require_once $file . $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_suffix']; $newObj = eval(sprintf("return %s %s%s();", $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_preCall'][$type], $class, $GLOBALS['_CRM_CONTACT_DAO_FACTORY']['_extCall'][$type])); return $newObj; }
static function &create($className) { $type = CRM_Utils_Array::value($className, self::$_classes); if (!$type) { return CRM_Core_DAO_Factory::create($className); } $file = self::$_prefix[$type] . $className; $class = str_replace('/', '_', $file); require_once $file . self::$_suffix; $newObj = eval(sprintf("return %s %s%s();", self::$_preCall[$type], $class, self::$_extCall[$type])); return $newObj; }
static function &create($className) { $type = CRM_Utils_Array::value($className, self::$_classes); if (!$type) { return CRM_Core_DAO_Factory::create($className); } $file = self::$_prefix[$type] . $className; $class = str_replace('/', '_', $file); require_once $file . self::$_suffix; if ($type == 'singleton') { $newObj = $class::singleton(); } else { // this is either 'business' or 'data' $newObj = new $class(); } return $newObj; }