El SerializerServiceProvider proporciona un servicio para serializar objetos.
Ninguno.
$app->register(new Silex\Provider\SerializerServiceProvider());
El proveedor SerializerServiceProvider proporciona un servicio serializer:
use Silex\Application;
use Silex\Provider\SerializerServiceProvider;
use Symfony\Component\HttpFoundation\Response;
$app = new Application();
$app->register(new SerializerServiceProvider());
// Sólo acepta los tipos de contenido apoyados por el
// serializador vía el método assert.
$app->get("/pages/{id}.{_format}", function ($id) use ($app) {
// asume que existe el servicio page_repository que devuelve objetos Página. El
// objeto devuelto tiene captadores y definidores que exponen el estado.
$page = $app['page_repository']->find($id);
$format = $app['request']->getRequestFormat();
if (!$page instanceof Page) {
$app->abort("No page found for id: $id");
}
return new Response($app['serializer']->serialize($page, $format), 200, array(
"Content-Type" => $app['request']->getMimeType($format)
));
})->assert("_format", "xml|json")
->assert("id", "\d+");