1

ZF2-ApplicationのコントローラーにAbstractRestfulControllerを使用しています。このコントローラーは、create()、update()などを実装します。

それらのREST関数の隣にアクションを設定することは可能ですか?

たとえば、モデルを取得するためにurl.com/model/idが必要です(これはすでに機能しています)が、url.com / model/doSomethingも呼び出せるようにしたいです。

child_routesを使用してみましたが、機能しませんでした。

'car' => array(
                            'type'         => 'literal',
                            'options'      => array(
                                    'route'       => '/car',
                                    'defaults'    => array(
                                            'controller' => 'CarDealer\Controller\Car',
                                            'action' => 'index'
                                    ),
                            ),
                            'child_routes' => array(
                                    'rest'    => array(
                                            'type'    => 'segment',
                                            'options' => array(
                                                    'route'       => '[/:id]',
                                                    'constraints' => array(
                                                            'id' => '[0-9]+',
                                                    ),
                                                    'defaults'    => array(
                                                            'controller' => 'CarDealer\Controller\Car',
                                                    ),
                                            ),
                                    ),
                                    'actions' => array(
                                            'type'    => 'segment',
                                            'options' => array(
                                                    'route'       => '[/:action]',
                                                    'constraints' => array(
                                                            'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                                                            'id'     => '[0-9]+',
                                                    ),
                                                    'defaults'    => array(
                                                            'controller' => 'CarDealer\Controller\Car',
                                                            'action'     => 'index',
                                                    ),
                                            ),
                                    ),
                            ),
                    ),

上記はあまり意味がないと確信していますが、物事を機能させるための適切なヒントを見つけることができませんでした。

ご協力いただきありがとうございます!

4

2 に答える 2

4

AbstractRestfulControllerは任意のアクションメソッドにディスパッチしないため、子ルートと別のコントローラーを使用する必要があります。

于 2013-02-17T11:56:50.557 に答える
0

ワイルドカードルートを使用して、除外されていないことを実行します。コントローラでワイルドカードパラメータを取得して、そのアクションを実行します

于 2013-02-16T05:39:42.587 に答える