如何在yii2控制器动作中传递字母数字参数

时间:2015-05-06 06:48:05

标签: yii2

我的代码是

class WorkshopsController extends Controller
{
    public $layout = false;

    public function actionIndex($address)
    {
        echo $address;
        return $this->render('workshops.twig');
    }
} 

我想将任何地址传递给上面给出的动作。我怎么能在Yii2做到这一点。地址可以像“Mazyad Road,Mazyad - Al Ain - أبوظبي - 阿拉伯联合酋长国”

1 个答案:

答案 0 :(得分:1)

您需要使用地址查询参数example.com/workshops/index?address=some address workshop / index 页面请求。 Yii会自动调用你的动作并将查询参数传递给它。

修改

如果您想使用漂亮的网址,则必须为其指定urlManager rules。 E.g。

rules => [
    'workshops/<address>' => 'workshops/index',
],

此外,如果您希望在未指定 addess 参数时打开您的页面,您可以定义如下规则:

[
    'pattern' => 'workshops/<address>',
    'route' => 'workshops/index',
    'defaults' => ['address' => ''],
]