【发布时间】:2015-02-12 22:07:44
【问题描述】:
我正在尝试使用自定义 CakeResponse 类,但是我目前的工作和当前搜索都没有让我找到实际使用的解决方案。
所以让我们调用我的自定义CakeResponse 类AppResponse:
AppResponse 在Lib/Network中
<?php
App::uses('CakeResponse', 'Network');
class AppResponse extends CakeResponse {
}
根据这篇博文http://mark-story.com/posts/view/cakeresponse-in-cakephp-2-0,似乎应该能够使用此代码来覆盖 CakeResponse 并使用自定义 Response 类
App::import('Lib', 'CustomResponse');
class AppController extends Controller {
protected $_responseClass = 'CustomResponse';
}
下面的App::uses/import 语句集合不起作用
App::uses('AppResponse', 'Network');
App::uses('AppResponse', 'Lib/Network');
App::uses('AppResponse', 'Lib');
App::import('Lib', 'AppResponse');
class AppController extends Controller {
protected $_responseClass = 'AppResponse';
}
public function beforeRender() {
debug($this->_responseClass);
debug(get_class($this->response));
die();
}
这将输出:
AppResponse
CakeResponse
The Book 和CakePHP docs 似乎确实建议可以覆盖 CakeResponse 类并使用您自己的自定义类。
正如上面所证明的,它似乎不起作用。
【问题讨论】:
-
在你这样做之前为什么你认为你需要这样做吗?我很确定还有其他方法。
标签: php cakephp cakephp-2.0