Hola a todos, buen día,
Quiero compartir con ustedes este proyecto que esta recién creado en github, apenas lleva como 3 días.
https://github.com/chriso/klein.phpEs un enrutador para PHP al estilo de sinatra.rb
, también orientado al estilo restful, vale la pena probar y adaptar para proyectos pequeños.
Tiene también unos validators que se ven muy interesantes, y soporte de views.
Aquí esta un ejemplo pequeño de como se vería con bastantes partes incluidas, lleva los enrutadores, asignación de variables globales, y luego todo lo presenta en un view
respond('*', function ($reguest, $response, $app) {
//Handle exceptions => flash the message and redirect to the referrer
$response->onError(function ($response, $err_msg) {
$response->flash($err_msg);
$response->back();
});
//The third parameter can be used to share scope and global objects
$app->db = new PDO(...);
});
respond('POST', '/users/[i:id]/edit', function ($request, $response) {
//Quickly validate input parameters
$request->validate('username', 'Please enter a valid username')->isLen(5, 64)->isChars('a-zA-Z0-9-');
$request->validate('password')->notNull();
$app->db->query(...); //etc.
//Add view properties and helper methods
$response->title = 'foo';
$response->escape = function ($str) {
return htmlentities($str); //Assign view helpers
};
$response->render('myview.phtml');
});
//myview.phtml:
<title><?php echo $this->escape($this->title) ?></title>
Pueden agregarlo a sus bookmarks para cuando necesiten algo así pequeño y eficiente