1
beforeAction
とbehavior
を使用して、私のコントローラーのメソッド内で$id
パラメーターをオンザフライで変更しようとしています。参考までに、私はHashIdsを使用し、どこにでも変換する必要があります。$_GET['id']
は整数にハッシュされるかもしれません。Yii2 - ビヘイビアを使用してコントローラアクションのパラメータを変更するにはどうすればよいですか?
動作をの動作を使用してオンザフライで自動的に$ _GET ['id']を変更する動作を使用できますか?
私のコントローラの例アクション:
public function actionView($id){
// run code to process $id here back to integer using a behavior
echo $id; //should be an integer
}
私のサンプルURL:http://mydomain/posts/view?id=3QhLp
(または、おそらくこれを行うには良い方法は、カスタムURLルールを作成するのですか?)
コントローラから 'Yii :: $ app-> request-> request-> get( 'id')'にアクセスできます。しかし、 '$ id'(アクションのパラメータセット)にアクセスすることはできません。 。このようにすれば、 '$ id'を使用するあらゆるアクションを書き直さなければなりません。最終ステップを実装する方法は何ですか? – friek108
私が知る限り、動作メソッドのparamは、元のurl文字列を振る舞いの中で変更することができない限り、 '$ _GET'ではなく、urlManagerのルールを使って元のurlから解析されます。これが役立つかもしれない。 –
あなたはできるとは思わないし、そうであればカスタムURLルールとして実装するほうがよいでしょうか?そして、行動ではなく、そこに変換? – friek108