Переписать функцию PHP без специальных расширений и отладочных инструментов. Возможно ли? Спйолер: Да.

Но есть нюанс. Сначала нужно функцию, которую хочется переопределить стереть. А сделать это можно через php.ini файл, вписав функцию в директиву:

disable_functions =

Для примера возьмем функцию date и сделаем следующее:

php.ini

disable_functions = date

auto_prepend_file = path/to/my_defined_functions.php

Пишем что нить типа:

<?php declare(strict_types=1);

/**
 * @param string $s
 * @return string
 */
function date(string $s): string {
	return 'А не все ли равно какая дата?';
}

echo date('d.m.Y');

Ну вот и все. Более не существует встроенной функции date. Так можно поступить со множеством функций.

Для чего? Подхачить что-то на глобальном уровне, нахуевертить свою обертку над чем-либо... В общем инструмент есть, а применение всегда найдется.