Example #1
0
$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) {