CakePHP - 如何操作组件中的请求数据?

Bad*_*sie 1 cakephp cakephp-2.0

在我的组件方法中,如何获取通常由控制器读取的请求数据?

class MyComponent extends Component {

    public function processData() {

        // Get the data normally found in $this->request->data

    }

}
Run Code Online (Sandbox Code Playgroud)

cow*_*wls 7

这有两种方法可以做到这一点,第二种方式更简单:

在组件中添加它

public function initialize(Controller $controller) {
    $this->controller = $controller;
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过执行以下操作来访问组件中的请求数据:

$this->controller->request->data
Run Code Online (Sandbox Code Playgroud)

或者,您可以将其传递给您的函数.例如

public function processData($data) {

}
Run Code Online (Sandbox Code Playgroud)

然后用它来调用它

$this->MyComponent->processData($this->request->data);
Run Code Online (Sandbox Code Playgroud)