/ cake / libs / controller / controller.php
/**
* Convenience and object wrapper method for header(). Useful when doing tests and
* asserting that particular headers have been set.
*
* @param string $status The header message that is being set.
* @return void
* @access public
*/
function header($status) {
header($status);
}
...
Это показывает, что функция Controller :: header () является простой оболочкой для прямых вызовов функции phpheader ().
http://api.cakephp.org/class/app-controller#method-AppControllerheader
Итак - чтобы выполнить то, что вы хотите сделать:
/ app / controllers / examples_controller.php
<?php
class ExamplesController extends AppController
{
public $name = "Examples";
...
public function someAction( ){
...
$url = array( 'controller' => 'examples', 'action' => 'someOtherAction' );
$this->set( 'url', $url );
$this->header( "refresh:5; url='".Router::url( $url )."'" );
}
...
}
?>
Я передаю URL в представление и не умираю () или exit (), если вы действительно хотите отобразить представление.Пример:
/ app / views / examples / some_action.ctp
<p class='notice'>
<?php echo $this->Html->link( "You are being redirected to ".Router::url( $url )." in 5 seconds. If you do not wish to wait click here.", $url ); ?>
</p>