3

ビューをレンダリングするために、モバイルネイティブアプリ用のJSON-RPC APIを介して取得できるデータを使用するZend Webアプリケーションを設計しようとしています。この 2 つの部分を独立した状態に保つために、プロジェクトをどのように構成するかを考えていました。Web アプリケーションは、次の URL にアクセスして起動することを意図しています。

http://www.domainname.com

次に、iOS および Android クライアントは、ポスト リクエストを

http://www.domainname.com/api/

Web アプリケーションと API は 2 つの別個の zend アプリケーションである必要がありますか? それらが管理するデータは実質的に同じであるため、リクエストハンドラークラスと webapp のコントローラーには、返されるデータを取得して操作するための同様のコードが多数あるため、私はこれについて懐疑的です。

JSON-RPC サーバーと Web アプリの両方に同じ「バックエンド」コードを使用する、適切でクリーンで柔軟な方法はありますか?

コードの重複を避けたいだけでなく、API 呼び出しをできるだけ高速にしたいと考えています。

助けてくれる人に感謝します!

4

1 に答える 1

1

実際、これは非常に簡単に達成できます。

コントローラーがそれを処理するときは、次を使用します...

if ($this->_request->isXmlHttpRequest())
{
     // Code here
}

データを保存する場合も手順は同じです。通常、それを使用してビューまたは JSON を返すだけです。例えば...

// Save the data here

if ($this->_request->isXmlHttpRequest())
{
     die(Zend_Json::encode(array('success' => true)));
}
else
{
     // View specific data here
}

それが役に立ち、理にかなっていることを願っています!

于 2011-12-20T12:15:53.133 に答える