# Wo kommen die Parameter bei Controller Actions her?

**URL:** <https://forum.shopware.com/t/wo-kommen-die-parameter-bei-controller-actions-her/71097>\
**Category:** Programmierung\
**Created:** [23. November 2020 um 14:39 UTC](https://forum.shopware.com/t/wo-kommen-die-parameter-bei-controller-actions-her/71097 "2020-11-23T14:39:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ruppert](https://avatars.discourse-cdn.com/v4/letter/r/dfb087/32.png) [@ruppert](https://forum.shopware.com/u/ruppert)\
**Post date:** [23. November 2020 um 14:39 UTC](https://forum.shopware.com/t/wo-kommen-die-parameter-bei-controller-actions-her/71097/1 "2020-11-23T14:39:40Z")

</div>

Hallo Community,

gleich zur Frage:

Z.B. bei dem Controller “CartLineItemController” gibt es die Action “deleteLineItem”. Die Funtion hinter der Action ist folgedermaßen definiert:

```
    /**
     * @Route("/checkout/line-item/delete/{id}", name="frontend.checkout.line-item.delete", methods={"POST", "DELETE"}, defaults={"XmlHttpRequest": true})
     */
    public function deleteLineItem(Cart $cart, string $id, Request $request, SalesChannelContext $salesChannelContext): Response
    {
      ...

```

Wenn ich die Doku richtig verstehe ist “SalesChannelContext” einfach bei jeder Action automatisch “geschenkt”. Bei den restlichen Parametern verstehe ich es aber nicht mehr.

Den&nbsp;Parameter “string $id” gibt es wahrscheinlich deshalb weil “id” im “@Route” definiert ist, richtig? Falls ja, an welcher Stelle muss man den Parameter angeben? Und wo kommen dann noch die “Cart $cart” und “Request $request”&nbsp;&nbsp;her?

Wäre für Aufklärung sehr dankbar!

Grüße, ruppert

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [23. November 2020 um 23:56 UTC](https://forum.shopware.com/t/wo-kommen-die-parameter-bei-controller-actions-her/71097/2 "2020-11-23T23:56:40Z")

</div>

Das sind in Symfony Umwelt ArgumentValueResolver . Du kannst diese im Dependency Injection registrieren, diese können dann die Parameter automatisch reinreichen.

&nbsp;

SalesChannelContext =\> [platform/SalesChannelContextValueResolver.php at 60ad409864d462b640c77f7206aa78fbd4e3dd23 · shopware/platform · GitHub](https://github.com/shopware/platform/blob/60ad409864d462b640c77f7206aa78fbd4e3dd23/src/Core/System/SalesChannel/Context/SalesChannelContextValueResolver.php)

Cart =\> [platform/CartValueResolver.php at 60ad409864d462b640c77f7206aa78fbd4e3dd23 · shopware/platform · GitHub](https://github.com/shopware/platform/blob/60ad409864d462b640c77f7206aa78fbd4e3dd23/src/Core/Checkout/Cart/CartValueResolver.php)

Request =\> Standardmäßig von Symfony

$id =\> Kommt aus der Route

---

<div class="post-metadata">

**Author:** ![ruppert](https://avatars.discourse-cdn.com/v4/letter/r/dfb087/32.png) [@ruppert](https://forum.shopware.com/u/ruppert)\
**Post date:** [24. November 2020 um 10:33 UTC](https://forum.shopware.com/t/wo-kommen-die-parameter-bei-controller-actions-her/71097/3 "2020-11-24T10:33:03Z")

</div>

Vielen Dank für die Aufklärung!

Könntest du vielleicht noch etwas zu der Reihenfolge der Parameter sagen? Ist Sie durch die „Resolver“ vorgeschrieben, oder kann ich die beliebig in meiner Action-Function wählen?

Grüße, ruppert

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [24. November 2020 um 10:41 UTC](https://forum.shopware.com/t/wo-kommen-die-parameter-bei-controller-actions-her/71097/4 "2020-11-24T10:41:10Z")

</div>

Die Reihenfolge ist egal
