Создание оболочки для функции с тем же именем - PullRequest
1 голос
/ 16 марта 2012

Я видел функцию в основных файлах cakephp-1.2.

/**
* Convenience method for header()
*
* @param string $status
* @return void
* @access public
*/
function header($status) {
  header($status);
}

см. https://github.com/cakephp/cakephp/blob/1.2/cake/libs/controller/controller.php#LC638

По какой причине они переопределяют функцию с тем же именем?Это будет работать?Я думаю, что функция header создаст бесконечную рекурсию.Я не знаю, как проверить, создает ли это бесконечную рекурсию.

1 Ответ

5 голосов
/ 16 марта 2012

См. Верхнюю часть кода, строка 40:

class Controller extends Object {

Этот метод Controller::header, поэтому не переопределяет header.Вы не можете "переопределить" функции PHP: вы просто получите ошибку.

...