私はRESTサーバーをモックするためにSilexフレームワークを使用しています。OPTIONS httpメソッドのURIを作成する必要がありますが、Application
クラスはPUT、GET、POST、およびDELETEのメソッドのみを提供します。カスタムhttpメソッドを追加して使用することは可能ですか?
3321 次
2 に答える
4
私も同じことをしましたが、どうやってそれを機能させたのかよく覚えていません。私は今それを試すことができません。確かにあなたは拡張する必要がありますControllerCollection
:
class MyControllerCollection extends ControllerCollection
{
/**
* Maps an OPTIONS request to a callable.
*
* @param string $pattern Matched route pattern
* @param mixed $to Callback that returns the response when matched
*
* @return Controller
*/
public function options($pattern, $to)
{
return $this->match($pattern, $to)->method('OPTIONS');
}
}
そして、それをカスタムApplication
クラスで使用します。
class MyApplication extends Application
{
public function __construct()
{
parent::__construct();
$app = $this;
$this['controllers_factory'] = function () use ($app) {
return new MyControllerCollection($app['route_factory']);
};
}
/**
* Maps an OPTIONS request to a callable.
*
* @param string $pattern Matched route pattern
* @param mixed $to Callback that returns the response when matched
*
* @return Controller
*/
public function options($pattern, $to)
{
return $this['controllers']->options($pattern, $to);
}
}
于 2012-11-29T09:37:44.323 に答える