Override internal PHP functions

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

Fullstack CTO
Jul 28, 2021

Возможно ли? Спйолер: Да.

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

disable_functions =

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

php.inidisable_functions = dateauto_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. Так можно поступить со множеством функций.

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

--

--

Fullstack CTO
Fullstack CTO

Written by Fullstack CTO

CTO and co-founder at NEWHR & Geekjob

No responses yet