2016-11-10 18 views
0

からヌルパラメータを削除:Zendのルーティング:私はこのように定義されたルートを持っている場合はURL

/イベント/:ID /:INSTANCE_ID /ビュー

両方それは次のようにURLに表示されます。パラメータが設定されます。

example.com/event/1/15/view

しかし、INSTANCE_IDはオプションであるため、(URLヘルパーによって作成された)URLは次のように見ていると、nullの場合もある。

どのように私は、不要なFORWを削除するには

example.com/event/1/view

:私はそれは次のようになりたいexample.com/event/1//view

アーモンドスラッシュ?

+0

私の下の回答があなたのために働いたかどうかを確認してください。ありがとう – ksoni

答えて

0

上記の質問はZend 1用であり、以下の解決策はZend 2用ですので、私の答えを尊重してください。

あなたのルートに 'instance_id'はオプションであるとは言えません。あなたはこれを行うことでこれを達成することができます

'route' => '/event/:id[/:instance_id]/view', 

それはURLの問題を修正する必要があります。また、理想的には、シナリオで可能な場合、 'view'は 'event'の後になければなりません。

'route' => '/event/view/:id[/:instance_id]', 

すべての修正テキストが理想的にルートに最初に現れる必要があります。

+0

これらのルート定義はどちらも動作しません。その結果、リソースが見つかりません。パラメータの前にアクションを置くためにURLを再構成すると、あなたが提案していた角括弧の表記法は必要ありません。しかし、私はすでにそれを知っていた。リストラは私にとっては解決策ではありません。とにかくありがとう。実際、提案されているように大括弧を使用することは認められていませんでした。時には、 "id"パラメータが結果として "id ["とみなされました。 – NaNuk

+0

Zend 2を使ってローカルマシンで試してみましたが、うまくいきました。どのように経路を作成し、どのようにURLを作成するかについて、より多くのコードを提供してください。デバッグすると便利です。ありがとう、 – ksoni

+0

OK、よくレッスンがあります。私はzf1を使用しています。 zf2のみのオプションパラメータの角括弧表記法ですか? – NaNuk

関連する問題