0

このメソッドを作成すると

actionTest($parameter){
    print($parameter);
}

yii コントローラーの内部にアクセスし、ブラウザーでアクセスしようとすると、エラー 400 が発生します。

/controller/test/text と入力すると、無効な要求エラーを返す代わりに単に文字列 'text' を画面に出力するように yii を設定するにはどうすればよいですか?

URLが正しいことはすでに確認済みです。私が書いたら

actionTest(){
  print('text'); 
} 

次に /controller/test/text に移動すると、問題なく動作します。

コントローラーのアクションが URL のパラメーター値を受け入れるように yii を設定するにはどうすればよいですか?

4

3 に答える 3

3

含めるには、urlManager書き換えルール配列を編集する必要がありますconfig.php

'urlManager'=>array(
    ....
    'rules'=>array(
        'controller/test/<parameter:\w+>' => 'controller/test',
        ...
    ),
),

あなたのコントローラー機能を

actionTest($parameter){
   print($parameter);
}
于 2013-03-29T00:15:54.243 に答える
1

@curtis: ありがとう。それは役に立ちました!!! <controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action> — カーティス・コリー

ルール行は、 id をパラメーターに変更する必要がある $parameter を使用する場合と<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>同じように、最後のパラメーターをコントローラーに送信します。$id

<controller:\w+>/<action:\w+>/<parameter:\w+>'=>'<controller>/<action>

コントローラーでは、次のように入力することもできます

actionTest(){
    print($_GET['parameter']); //or $_REQUEST
}
于 2014-03-21T19:14:23.953 に答える
0

url:/controller/test/parameter/textを試してみてください。動作するはずです。@topher による提案された URL ルールも正しいです。

于 2013-03-29T18:01:45.543 に答える