Переписать функцию 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. Так можно поступить со множеством функций.
Для чего? Подхачить что-то на глобальном уровне, нахуевертить свою обертку над чем-либо… В общем инструмент есть, а применение всегда найдется.