Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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);
     }
 }
Example #3
0
 /**
  * @return ValidatorInterface
  * @throws ServiceNotRegisteredException
  */
 public static function getValidator()
 {
     return ServiceLocator::checkAndReturn(ServiceLocator::$validator);
 }
Example #4
0
<?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());
Example #5
0
    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) {