J'appelle un itinéraire et lui transmets des données, Dans mon contrôleur, je veux obtenir $_POST['var']
, $_POST['var2']
semble-t-il à cause de l'utilisation de HttpFoundation dans Drupal 8, $_POST
et $_GET
n'existe pas dans l'ancienne méthode, Comment puis-je accéder aux $_POST
paramètres dans le contrôleur personnalisé?
25
Réponses:
À partir de l' enregistrement des modifications :
devient
Par ailleurs, pour
GET
vars, vous utiliseriez:la source
\Drupal::request()->request->all()
Dans un contrôleur, obtenez la demande avec un argument de type
Request $request
:Plus d'infos https://www.drupal.org/docs/8/api/routing-system/using-parameters-in-routes
la source
Injectez le
RequestStack
dans votre manette.La demande actuelle contient l'
query
attribut qui à son tour contient les paramètres GET.request
contient les paramètres POST.la source
Vous pouvez vérifier l'objet Request comme
il retournera GET ou POST ou autre chose. Si vous travaillez à l'intérieur d'un objet, pensez à DI le service Request.
la source
Si vous utilisez,
Content-Type: application/json
veuillez utiliser:la source
Aucune des autres réponses n'a fonctionné pour moi, mais j'ai trouvé que cela fonctionnait:
la source
Voici l'exemple d'accès aux paramètres d'URL et de les transmettre à un modèle TWIG, je considère que vous avez déjà créé votre module et les fichiers requis et supposez que "/ test? Fn = admin" est votre URL
Créez maintenant votre contrôleur et insérez-y le code ci-dessous.
Maintenant, dans votre fichier TWIG qui devrait être "my-template.html.twig", vous pouvez accéder à ce paramètre en tant que,
Et c'est fait. J'espère que cela t'aides.
la source