/** * Tests if a connection to the database can be established using {@see DbService::getEntityManager} */ public function testDbConnection() { $em = null; try { $em = ServiceLocator::getEntityManager(); } catch (ORMException $e) { $this->fail($e->getMessage()); } return $em; }
/** * Validates an object using the registered {@see Symfony\Component\Validator\Validator\ValidatorInterface} in * {@see ServiceLocator} * * @param object $object The object to be validated * * @throws ValidationException */ public static function validate($object) { $errors = ServiceLocator::getValidator()->validate($object); if (count($errors) > 0) { $errorMsg = 'Validation failed:' . PHP_EOL; foreach ($errors as $error) { $errorMsg .= $error . PHP_EOL; } throw new ValidationException('Validation failed:' . PHP_EOL . $errorMsg); } }
/** * @return ValidatorInterface * @throws ServiceNotRegisteredException */ public static function getValidator() { return ServiceLocator::checkAndReturn(ServiceLocator::$validator); }
<?php /** * Helper file for database schema update * Use "vendor\bin\doctrine orm:schema-tool:update --force --dump-sql" to update db-schema * or "vendor\bin\doctrine orm:schema-tool:create" to create a new schema */ use Doctrine\ORM\Tools\Console\ConsoleRunner; use KCMS\Config; require __DIR__ . '/../bootstrap.php'; return ConsoleRunner::createHelperSet(\KCMS\Services\ServiceLocator::getEntityManager());
ServiceLocator::getMonolog()->addError($e->getMessage()); // TODO: Do not output internal errors in production environment if ($e->getCode() !== 0) { return new Response($e->getCode() . ': ' . $e->getMessage(), 400, array('X-Status-Code' => $e->getCode())); } else { return new Response($code . ': ' . $e->getMessage()); } }); // Setup converter $app['user.converter'] = $app->share(function () use($app) { return new UserConverter(ServiceLocator::getEntityManager()); }); // Setup controllers // Add user controller as a service $app['user.controller'] = $app->share(function () use($app) { return new UserController(ServiceLocator::getEntityManager()); }); // Define routes for user controller /** @var \Silex\ControllerCollection $user */ $user = $app['controllers_factory']; $user->get('/', 'user.controller:getAllUsers'); $user->get('/{user}', 'user.controller:getUser')->convert('user', 'user.converter:convertFromId'); $user->post('/', 'user.controller:createUser')->convert('user', 'user.converter:convertFromRequestBody'); $user->delete('/{user}', 'user.controller:deleteUser')->convert('user', 'user.converter:convertFromId'); // Mount user controller $app->mount('/users', $user); // Convert controller responses accordingly $app->view(function ($controllerResult, \Symfony\Component\HttpFoundation\Request $request) { switch ($request->getMethod()) { case 'GET': if ($controllerResult !== null) {