$registry = new Registry($ioc, $cache); $connection = new RemodelConnection(new PDO('mysql:host=localhost;dbname=test', 'root', ''), new MySqlGrammar(), new MySqlProcessor()); use BapCat\Values\Email; use BapCat\CoolThing\User; use BapCat\CoolThing\UserId; use BapCat\CoolThing\UserGateway; use BapCat\CoolThing\UserRepository; use BapCat\CoolThing\UserNotFoundException; $def = new EntityDefinition(User::class); $def->required('email', Email::class); $def->optional('name', Text::class); $def->timestamps(); $registry->register($def); $user_repo = new UserRepository(Phi::instance(), new UserGateway($connection)); Phi::instance()->bind(UserRepository::class, $user_repo); $router = new BapCat\Router\Router($ioc); $router->get('', '/', function () { return 'Test'; }); require __DIR__ . '/TestValidatedRequest.php'; $router->get('', '/landing/:site', function (TestValidatedRequest $test, Text $site) { if (!$test->validated) { echo "Validation failed!<br>\n"; foreach ($test->validation_errors as $err) { echo "{$err}<br>\n"; } return; } return "Site: {$site}<br>\nID: {$test->id}<br>\nAP: {$test->ap}<br>\nURL: {$test->url}<br>\n"; }); $router->get('', '/user/:user', function (User $user) {