2011-12-18 200 views
1

我有一個用CakePHP編寫的Web應用程序,它需要從JSON負載讀取請求數據,而不是標準應用程序/ x-www-form-urlencoded數據。我希望能夠通過標準的$ this-> request-> data方法訪問這些數據。是否有支持的方式來擴展CakeRequest對象,以便它能夠接受這種格式的請求?擴展CakeRequest對象

回答

1

這裏是你如何自定義CakeRequest對象的功能:

將以下到應用程序/配置/ bootstrap.php中:

/** 
* Enable customization of the request object. Ideas include: 
* * Accepting data in formats other than x-www-form-urlencoded. 
*/ 
require APP . 'Lib' . DS . 'Network' . DS . 'AppCakeRequest.php'; 

創建應用程序/庫/網絡,並添加AppCakeRequest.php:

<?php 
/** 
* AppCakeRequest 
* 
* Allows for custom handling of requests made to the application. 
*/ 

class AppCakeRequest extends CakeRequest { 
    // Do your magic, and be careful... 
} 

編輯app/Webroot公司/ index.php文件:

$Dispatcher->dispatch(new AppCakeRequest(), new CakeResponse(array('charset' => Configure::read('App.encoding')))); 

要小心,確保你知道你在做什麼,祝你好運。