1

2ページのYiiサイトがsite.com/user/createあり、site.com/user/create.json

両方のページに 1 つのコントローラーが必要です。

  1. これらのルートを作成するにはどうすればよいですか-試してみ<controller:\w+>/<action:\w+>.json'=>'<controller>/<action>ましたが、役に立ちませんでした
  2. リクエストが JSON 用か HTML 用かをコントローラで特定するにはどうすればよいですか - 試してみ$_SERVER['CONTENT_TYPE']ましたが、REST クライアントでは問題ありませんでしたが、ブラウザでは PHP 通知が表示されましたUndefined index: CONTENT_TYPE
4

1 に答える 1

2

少なくとも 2 つの方法があります。

  1. Yii::app()->request->getRequestUri();リクエスト URI を取得します。末尾の .json 拡張子を確認してください。質問にあるルーティング ルールが機能し、正しいコントローラーとアクションへの要求を取得する必要があります。
  2. 次のようなルーティング ルールを作成できます。

    <controller:\w+>/<action:\w+>.json'=>'<controller>/<action>/format/json
    

    次にformat、アクション内のパラメーターを確認します。

拡張可能であるため、2番目の方法をお勧めします。

于 2012-06-13T18:18:54.083 に答える