private function registerSite() { $site = new EntityDefinition(Site::class); $site->table('site'); $site->required('_id', MongoId::class); $site->required('name', Text::class); $site->optional('key', Text::class); $site->optional('desc', Text::class); $site->required('attr_hidden_id', Text::class); $site->optional('attr_hidden', Text::class); // BOOL $site->optional('attr_no_delete', Text::class); // BOOL $site->optional('attr_no_edit', Text::class); // BOOL $this->remodel->register($site); }
use Illuminate\Database\Query\Grammars\MySqlGrammar; use Illuminate\Database\Query\Processors\MySqlProcessor; // Grab filesystem directories $persist = new LocalDriver(__DIR__ . '/..'); $cache = $persist->getDirectory('/cache'); $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"; }