J'utilise Silex framework pour moquer le serveur REST. J'ai besoin de créer un uri pour la méthode OPTIONS http, mais la classe Application
ne propose que des méthodes pour PUT, GET, POST et DELETE. Est-il possible d'ajouter et d'utiliser une méthode http personnalisée?Silex - Méthode OPTIONS
6
A
Répondre
4
J'ai fait la même chose mais je ne me souviens pas très bien comment j'ai réussi à le faire fonctionner. Je ne peux pas l'essayer maintenant. Pour que vous devez étendre le ControllerCollection
:
class MyControllerCollection extends ControllerCollection
{
/**
* Maps an OPTIONS request to a callable.
*
* @param string $pattern Matched route pattern
* @param mixed $to Callback that returns the response when matched
*
* @return Controller
*/
public function options($pattern, $to)
{
return $this->match($pattern, $to)->method('OPTIONS');
}
}
Et puis utilisez dans votre commande Application
classe:
class MyApplication extends Application
{
public function __construct()
{
parent::__construct();
$app = $this;
$this['controllers_factory'] = function() use ($app) {
return new MyControllerCollection($app['route_factory']);
};
}
/**
* Maps an OPTIONS request to a callable.
*
* @param string $pattern Matched route pattern
* @param mixed $to Callback that returns the response when matched
*
* @return Controller
*/
public function options($pattern, $to)
{
return $this['controllers']->options($pattern, $to);
}
}
3
Comme cette question se heurte encore très classé dans les recherches Google, je ll noter que maintenant qu'il est quelques années plus tard, Silex a ajouté une méthode de gestionnaire pour OPTIONS
http://silex.sensiolabs.org/doc/usage.html#other-methods
La liste actuelle des verbes qui peuvent être utilisés comme appels de fonction directement sont: get
, post
, put
, delete
, patch
, options
. Donc:
$app->options('/blog/{id}', function($id) {
// ...
});
Cela devrait fonctionner correctement.
Questions connexes
- 1. Silex render form - ChoiceType
- 2. Silex + validation de formulaire
- 3. Silex clear cookie
- 4. Composants réutilisables dans Silex
- 5. Silex Route facultative NotFoundHttpException
- 6. Silex & phpunit Réponse JSON
- 7. silex formulaire sans brindille
- 8. Silex + Ajax + SEO
- 9. Silex set cookie
- 10. la connexion Silex définie
- 11. Comprendre [options] argument méthode Backbone.sync
- 12. Silex APP sur sous-dossier
- 13. Silex Définition de règles d'accès
- 14. Est recommandé d'utiliser Silex 2?
- 15. Silex sur mesure Validator Inscription
- 16. Silex FormServiceProvider et paramètre form.secret
- 17. Filtres personnalisés pour Twig dans Silex
- 18. Silex/Silex 1.0.*@dev -> pas de paquet correspondant a trouvé
- 19. comment gérer "Méthode OPTIONS" dans ASP.NET MVC
- 20. Options de méthode de réglage conditionnel?
- 21. silex webprofiler n'affiche pas les journaux
- 22. Comment obtenir form_start et submit_row dans Silex?
- 23. Silex produit 405 erreurs sur formulaire Soumet
- 24. Gestion des exceptions avec phpunit et Silex
- 25. Comment distinguer PHP de Silex et Symfony2?
- 26. Comment utiliser JQuery Ajax dans Silex
- 27. Migrate Silex v1.3 à v2, ClassNotFoundException
- 28. Classes de contrôleurs Silex et autoadloading
- 29. Silex Esi cache pour formulaires avec CRSF
- 30. Silex, chargement de ses propres classes
Super, vraiment facile, merci! –
@PeterKrejci a-t-il fonctionné? Je ne peux pas le tester ... – gremo
Oui, sans aucun problème. –