Я видел функцию в основных файлах 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 создаст бесконечную рекурсию.Я не знаю, как проверить, создает ли это бесконечную рекурсию.
См. Верхнюю часть кода, строка 40:
class Controller extends Object {
Этот метод Controller::header, поэтому не переопределяет header.Вы не можете "переопределить" функции PHP: вы просто получите ошибку.
Controller::header
header