我使用Silex framework來模擬REST服務器。我需要爲OPTIONS http方法創建uri,但Application
類只提供PUT,GET,POST和DELETE的方法。是否可以添加和使用自定義http方法?Silex - OPTIONS方法
6
A
回答
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);
}
}
3
因爲這個問題仍然來自於谷歌搜索了名列前茅的,我請注意,現在幾年之後,Silex添加了一種處理方法:OPTIONS
http://silex.sensiolabs.org/doc/usage.html#other-methods
可以直接用作函數調用的動詞的當前列表是:get
,post
,put
,delete
,patch
,options
。所以:
$app->options('/blog/{id}', function($id) {
// ...
});
應該工作得很好。
相關問題
- 1. Silex表單 - 方法錯誤(POST/GET)
- 2. 從FormEvent傳遞config/options到buildView方法
- 3. XML-RPC Javascript不支持的方法('OPTIONS')
- 4. 如何捕捉OPTIONS方法調用
- 5. X-Content-Type-Options = nosniff解決方法
- 6. 有OPTIONS方法而不是POST
- 7. Jersey資源過濾器和OPTIONS方法
- 8. ng-options的angularJS控制器方法
- 9. 如何讓AngularJS忽略ajax OPTIONS方法?
- 10. 骨幹獲取請求是OPTIONS方法
- 11. 使用Java的HTTP OPTIONS方法
- 12. Laravel + Dingo + JWT + cors和OPTIONS方法
- 13. 最簡單的方法來處理OPTIONS方法?
- 14. swilemailer的Silex特徵。致命錯誤:調用未定義的方法Silex \ Application :: mail()
- 15. CakePHP表單$ options ['options']
- 16. Silex重寫,one.com
- 17. Silex的500錯誤
- 18. Silex和MongoDB,其中Silex擴展
- 19. Silex子集合
- 20. Silex + FOQElasticaBundle
- 21. Silex SessionLogoutHandler
- 22. Java EE 1.5 Servlet - http方法OPTIONS給出了「405方法不允許」
- 23. 如何知道在Silex中調用的方法
- 24. 這是在Silex中構建index.php文件的最佳方法嗎?
- 25. Silex + Ajax + SEO
- 26. Silex和Doctrine ORM
- 27. Symfony Silex:運行新的Silex項目
- 28. Silex/Google API
- 29. Silex雙表格
- 30. Silex設置Cookie
好極了,非常簡單,謝謝! –
@PeterKrejci是否有效?我無法測試它... – gremo
是的,沒有任何問題。 –