dev-master
9999999-dev
MIT
The Requires
The Development Requires
0.0.1
0.0.1.0
MIT
The Requires
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Take the boilerplate out of your day. Need a simple API to insert data into SQL Tables? This is for you., (*1)
config/db.env.php to connect to your databaseconfig/validators.php
config/db.php
config/routes.php
composer migrate:users
`php composer.phar create-project geggleto/slimgateway [my-app-name]`
There is a cavet for validation. Validation will only take place on the initial data set, anything you add in via middleware is not available for validation., (*2)
/migrations/ folderconfig/db.php
$container['users.gateway'] = function ($c) {
return new TableGateway('user', $c['adapter']);
};
$container['user.controller'] = function ($c) {
return new EntityController($c['users.gateway']);
};
config/validators.php
$container['user.fetch.validator'] = function ($c) {
/** @var $request \Slim\Http\Request */
$request = $c['request'];
$validator = new \Valitron\Validator($request->getParsedBody());
$validator->rule('required', 'id');
new \SlimGateway\ValidationMiddleware($validator);
};
$container['user.create.validator'] = function ($c) {
/** @var $request \Slim\Http\Request */
$request = $c['request'];
$validator = new \Valitron\Validator($request->getParsedBody());
$validator->rule('required', 'name');
$validator->rule('required', 'email');
$validator->rule('required', 'username');
$validator->rule('required', 'password');
new \SlimGateway\ValidationMiddleware($validator);
};
$container['user.update.validator'] = function ($c) {
/** @var $request \Slim\Http\Request */
$request = $c['request'];
$validator = new \Valitron\Validator($request->getParsedBody());
$validator->rule('required', 'name');
$validator->rule('required', 'email');
$validator->rule('required', 'username');
new \SlimGateway\ValidationMiddleware($validator);
};
$container['user.delete.validator'] = function ($c) {
/** @var $request \Slim\Http\Request */
$request = $c['request'];
$validator = new \Valitron\Validator($request->getParsedBody());
$validator->rule('required', 'id');
new \SlimGateway\ValidationMiddleware($validator);
};
config/routes.php
$app->get('/users/{id}', 'user.controller:fetch')->add('user.fetch.validator');
$app->post('/users', 'user.controller:create')->add('user.create.validator');
$app->put('/users/{id}', 'user.controller:update')->add('user.update.validator');
$app->delete('/users/{id}', 'user.controller:remove')->add('user.delete.validator');
composer test, (*3)
This is purely a backend solution. The next logical step might be trying to send out an email, or encrypt the user password. Both of these functions would be middleware when using this package., (*4)
Middleware is the perfect spot for running code before and after your data is persisted., (*5)
MIT
MIT