3

Zend_Rest_Controller を使用して REST API を実装できること、および return、create、update などを実行するための 5 つの抽象メソッド indexAction、getAction、postAction、putAction、deleteAction があることを知っています。

私の質問は、さまざまなタイプの操作を実行するためのこれらのデフォルト関数とは別に、コントローラーでさらに API フィクションを使用できるかということです。

例えば:

indexAction - 利用可能な本のリストを返します。

searchAction - 検索条件に基づいて書籍のリストを返します。(いくつかのパラメーターを使用して indexAction で実行できることはわかっていますが、コードがより複雑に見えるため、それを避ける必要があります)

4

1 に答える 1

1

はい、コントローラーでカスタム アクション メソッドを作成できます。抽象クラス Zend_Rest_Controller を拡張していますが、これら 5 つの抽象メソッド (既に述べたもの) を定義している限り、クラスの残りを自由にカスタマイズできます。

あなたが調べるかもしれない唯一の同様の方法はgetAction(). これは、ID という名前のパラメーターを期待し、主キーに基づいてレコードを取得します。


おそらく、構成ファイルでルーティングを定義する必要があります。

routes.archive.route = "search/:keyword"
routes.archive.defaults.controller = books
routes.archive.defaults.action = search
routes.archive.defaults.year = "Hamlet"
routes.archive.reqs.year = "\s+"

次に、これらの構成オプションをルーターにフィードする必要があります。

$config = new Zend_Config_Ini('/path/to/config.ini', 'production');
$router = new Zend_Controller_Router_Rewrite();
$router->addConfig($config, 'routes');

より詳細なチュートリアルについては、Zend のドキュメントを参照してください。

于 2013-01-27T15:41:37.257 に答える