CakePHP Brasil

2 junho 2008

Novos métodos de callback para componentes

Arquivado em: CakePHP — Tags:, , — Juan Basso @ 1:22 pm

Recentemente, foram adicionados três novos métodos de callback para os componentes: beforeRender, beforeRedirect e shutdown.

Como o próprio nome já diz, o beforeRender() é chamado antes da view ser renderizada, mas depois do beforeRender() do controller:

1
2
3
4
// no seu componente
public function beforeRender($controller) {
    // faça alguma coisa
}

O beforeRedirect() também é obvio, é chamado antes de um redirect ser executado:

1
2
3
4
// no seu componente
function beforeRedirect($controller, $url, $status = null, $exit = true) {
    // faça alguma coisa
}

Retornando um valor você pode substituir os valores que foram passados no redirect original. Por exemplo:

1
2
3
4
function beforeRedirect($controller, $url, $status = null, $exit = true) {
    // return '/redirect/target';  // um simples valor é tratado como uma URL
    return array('url' => '/redirect/target', 'status' => 307);
}

O último método de callback é o shutdown(). Ele é chamado depois de Controller::render() e antes de Controller::afterFilter():

1
2
3
4
// no seu componente
function shutdown($controller) {
    // faça alguma coisa
}

Continuem seus bolos…

Texto traduzido de New callback methods for components

Powered by WordPress