Fügen Sie Kopfzeilen für jede Antwort
Wie kann ich "automatisch" fügen Sie eine Kopfzeile auf jede Antwort mit Silex?
Bisher habe ich für die folgenden mit jeder Antwort:
$app->post('/photos'), function () use ($app) {
return $app->json(array('status' => 'success'), 200, array('Access-Control-Allow-Origin' => '*'));
});
Stattdessen würde ich gerne eine vor-filter zu senden Access-Control-Allow-Origin: *
automatisch mit jeder Anfrage:
//Before
$app->before(function () use ($app) {
$response = new Response();
$response->headers->set('Access-Control-Allow-Origin', '*');
});
//Route
$app->post('/photos'), function () use ($app) {
return $app->json(array('status' => 'success')); //<-- Not working, because headers aren't added yet.
});
- Warum gehst du nicht zu einer überlastung der Antwort-Klasse ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
after
Anwendung middleware, dies ist die Signatur der Methode:Diesem Weg erhalten Sie das Response-Objekt, die Sie frei ändern können.
header()
nennen? Sie sollte es tun in derafter()
- handler wie in meiner Antwort.header
Anrufe funktionierten nicht so toll. Besser, etwas zu tun, wie dies in derafter
block$response->headers->set('key', 'value');