/** * @param mixed $dev_mode Whether or not we are in development mode. Leave at default (null) to automatically detect, or pass in true or false * @param string $cache One of: 'memcached', 'apc', 'redis', 'array'. Only implemented if dev_mode is false (when in dev mode, array cache is always used) */ protected function defineDependencies($dev_mode = null, $cache = 'memcached') { $this->container['cms'] = $this->cms; $this->container['request'] = $this->request; $db_config = $this->db_config; if ($dev_mode === null) { $dev_mode = strpos($this->request->url->full_url, 'http://localhost') !== false || strpos($this->request->url->full_url, 'http://dev') !== false; } else { $dev_mode = $dev_mode ? true : false; } $this->container['db'] = function ($c) use($db_config, $dev_mode) { $db = new Database($db_config->dsn, $db_config->host, $db_config->username, $db_config->password, null, $db_config->database, $db_config->entity_namespace, $db_config->entity_path); $db->setDevMode($dev_mode); return $db; }; $this->container['pagination'] = function ($c) { return new Pagination($c['cms'], 25, 0, 1, 15); }; //Try to find a dependency definition class for the current resource (base class will guess what is needed based on resource name and which classes exist for that resource) $class_suffix = str_replace(' ', '', ucwords(str_replace('_', ' ', $this->request->resource))); $class_name = $this->routing_config->namespace_dependencies . 'Dependencies' . $class_suffix; if (!class_exists($class_name)) { $class_name = $this->routing_config->namespace_dependencies . $class_suffix . '\\Dependencies' . $class_suffix; if (!class_exists($class_name)) { $class_name = $this->routing_config->namespace_dependencies . 'Dependencies'; if (!class_exists($class_name)) { $class_name = 'Netshine\\Scaffold\\Dependencies'; } } } $dependencyConfig = new $class_name($this->request, $this->container, $this->routing_config, $class_suffix, $this->request->resource, $this->request->method); $this->container = $dependencyConfig->defineDependencies(); }
public function validateTables() { //Make sure Doctrine is happy with all that $validator = new SchemaValidator($this->db->getDoctrine()); $errors = $validator->validateMapping(); if (count($errors) > 0) { foreach ($errors as $error) { if (is_array($error)) { echo implode("<br />", $error); } else { echo $error; } } } }
public function abort() { $this->db->getDoctrine()->clear(); }