# \[GELÖST\] Best Practice beim Zugriff auf POST-Variable?

**URL:** https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103
**Category:** Programmierung
**Created:** [10. November 2015 um 13:35 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103 "2015-11-10T13:35:14Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [10. November 2015 um 13:35 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103/1 "2015-11-10T13:35:14Z")

</div>

Hallo liebe Shopware-Gemeinde, was ist der Best Practice für den Zugriff auf die POST-Variable innerhalb eines Plugins? Es geht auch darum zu prüfen, ob beispielsweise eine Checkbox gesetzt ist oder nicht (isset). Möglichkeiten wären ja:

b über[/b] ` $post = Shopware()-\>Modules()-\>Admin()-\>sSYSTEM-\>\_POST; if(isset($post['agb'])){ ... }`

Wobei dies ja deprecated ist, aber deswegen ja noch so funktioniert.

b über[/b] ` $post = Shopware()-\>System()-\>\_POST; if(isset($post['agb'])){ ... }`

Diese Variante funktioniert ja auch. Ist dies evtl. Best Practice?

Über: ` $controller = $arguments-\>getSubject(); $request = $controller-\>Request(); $request-\>getParam("agb");`

kommt man ja zwar an den Wert, kann ja aber nicht auf isset prüfen.

Beste Grüße Sebastian

---

<div class="post-metadata">

### Author: ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)
#### Post date: [10. November 2015 um 13:37 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103/2 "2015-11-10T13:37:47Z")

</div>

Hi, es gibt auch “$request-\>has()” - bei “$request-\>getParam()” kannst du zudem einen Standard-Wert hinterlegen (im Standard: null), was ggf. auch hilfreich ist. Grundsätzlich solltest du auf den Zugriff auf (s)System verzichten, und das lokale Request-Objekt oder das aus dem “Subject” verwenden. Daniel

---

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [10. November 2015 um 13:40 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103/3 "2015-11-10T13:40:33Z")

</div>

[quote=„Daniel Nögel“]Hi, es gibt auch „$request-\>has()“ - bei „$request-\>getParam()“ kannst du zudem einen Standard-Wert hinterlegen (im Standard: null), was ggf. auch hilfreich ist. Daniel[/quote] Hallo Daniel, danke erst einmal für deine Antwort. Kann ich also bedenkenlos $post = Shopware()-\>Modules()-\>Admin()-\>sSYSTEM-\>\_POST bzw. eher $post = Shopware()-\>System()-\>\_POST im Plugin verwenden? Ich möchte ungern den Wert einer Checkbox verwenden, deswegen brauch ich isset. Beste Grüße Sebastian

---

<div class="post-metadata">

### Author: ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)
#### Post date: [10. November 2015 um 13:43 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103/4 "2015-11-10T13:43:15Z")

</div>

Hi, die beiden nach Möglichkeit eher nicht - mit $args-\>getSubject()-\>Request()-\>Post() / has() und getParam() sollte aber das gleiche aus einem Plugin möglich sein, oder? Daniel

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [10. November 2015 um 13:44 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103/5 "2015-11-10T13:44:56Z")

</div>

Nein, du sollst über das request Object (Enlight\_Controller\_Request\_Request interface) die Parameter holen. Je nachdem, wie dein event aussieht, kannst du zb über $arguments-\>get( “subject” )-\>Request() an das Objekt kommen. Viele Grüße Edit: der Daniel mal wieder schneller…

---

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [10. November 2015 um 13:51 UTC](https://forum.shopware.com/t/gelost-best-practice-beim-zugriff-auf-post-variable/32103/6 "2015-11-10T13:51:57Z")

</div>

[quote=„Daniel Nögel“]Hi, die beiden nach Möglichkeit eher nicht - mit $args-\>getSubject()-\>Request()-\>Post() / has() und getParam() sollte aber das gleiche aus einem Plugin möglich sein, oder? Daniel[/quote] Hallo Daniel, danke für die Info. Ja, deine vorgeschlagene Variante ` if($request-\>has('agb')) { if($request-\>getParam("agb") == "12345"){ .... } }` anstatt ` $post = Shopware()-\>System()-\>\_POST; if(isset($post['agb'])){ if($post['agb'] == "12345"){ ... } }` funktioniert auch und werde ich nun bevorzugt verwenden. Beste Grüße Sebastian
