/** * getInstance * * Get an instance of a service manager * * @param unknown_type $serviceModule - name of service module * @param unknown_type $serviceName - service name * @param unknown_type $serviceRootDir - optional service root directory; the default the APPLICATION's /lib/services dir * @return unknown */ public static function getInstance($serviceModule = false, $serviceName = false, $serviceRootDir = false, $databaseDir = false, $datasource = false, $enablePersistancy = false) { $enablePersistancy = false; if (!isset($_instance)) { self::$_instance = new self(); } self::$_instance->{FrameworkConstants::SERVICE_MODULE} = $serviceModule; self::$_instance->{FrameworkConstants::SERVICE_NAME} = $serviceName; if ($serviceRootDir) { self::$_instance->{FrameworkConstants::SERVICE_DIR} = $serviceRootDir; } else { self::$_instance->{FrameworkConstants::SERVICE_DIR} = APPLICATION_LIB_DIR . 'services/'; } if ($databaseDir) { self::$_instance->{FrameworkConstants::DAO_DIR} = $databaseDir; } else { self::$_instance->{FrameworkConstants::DAO_DIR} = APPLICATION_LIB_DIR . 'database/'; } if ($datasource) { self::$_instance->{FrameworkConstants::DATABASE_CONFIG_SECTION} = $datasource; } if ($enablePersistancy) { self::$_instance->{FrameworkConstants::DATABASE_PERSIST} = true; } self::$_instance->{FrameworkConstants::PLURALIZE} = 'true'; return self::$_instance; }