2017-09-14 1 views
0

I Parameter von Aktionen in der Lage sein wollen, für Yii2 Framework von / in URL zu trennen,yii Route mit unbegrenzten Parameter

ZB: http://localhost/advanced/backend/web/controller/action/parameter1/parameter2

Hier parameter(1,2,...) sind nicht nur id und integer Zahlen suchte ich eine Menge über das Internet und auch hier, aber ich habe keine sinnvolle Antwort gefunden, die funktioniert, ich habe es versucht:

'<controller:\w+>/<id:\d+>' => '<controller>/view', 
        '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
        '<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>' 

aber nicht arbeiten, und ich hatte Parameter zu übergeben als Variablen an die Arbeit

http://localhost/advanced/backend/web/controller/action/?parameterName=value 

jemand mir helfen kann, seine für mich notwendig.

Antwort

0

Mit 2 params (oder jede bekannten Zahl wirklich) Sie dieses Muster verlängern könnten:

'<controller:\w+>/<action:\w+>/<param1:\w+>/<param2:\w+>' => '<controller>/<action>', 

Mit unbegrenzter Anzahl von params, ich glaube nicht, dass es mit der UrlRule-Klasse arbeitet. Sie müssen Ihre eigene Klasse schreiben und ersetzen. Ich verstehe nicht, warum du sowieso eine unbegrenzte Anzahl von Params haben möchtest. Auch eine URL kann nicht unbegrenzt lang sein.

--- --- Bearbeiten

Wenn Sie 4 Parameter möchten können Sie die Standardwerte in Funktion verwenden, anstatt eine neue UrlRule Klasse des Schreibens

public function actionMyController($param1=null, $param2=null, $param3=null, $param4=null) 
+0

eigentlich will ich nicht unendlich Parameter haben, Ich meine 2-4 Parameter von unbegrenzt, aber ich suche viel, Sie richtig, für unbegrenzte params ich sollte meine eigene UrlRule-Klasse schreiben, Danke für Ihre gute Antwort – Zahra

+0

müssen Sie Ihre URL mit YII Routen definieren, sonst wird es route. – Bira