Это немного безумная идея, но есть ли способ загрузить все функции, которые есть в php, без использования вспомогательной функции для вызова функций.
Я имею в виду на самом деле вызов некоторого кода или функции до и после каждого вызова базовой функции.
Пример:
<?php
echo "Hello";
?>
Но эти функции будут вызываться до echo и после echo:
<?php
function pre_echo()
{
do_something();
}
function post_echo()
{
do_something_else();
}
?>






Как и в случае с FYI, ваш пример выбрал что-то, что на самом деле не является функцией в самом строгом смысле слова, эхо - это языковая конструкция, которая по-разному обрабатывается внутренними функциями PHP.
Я думаю, что есть только два способа добиться того, что вам нужно:
«Самозагрузка» здесь не совсем правильный термин - то, что вы хотите сделать, называется Аспектно-ориентированное программирование и да, это можно сделать на PHP. Однако, похоже, это требует существенных изменений в том, как вы обычно используете PHP.
Спасибо, я не знал, какой термин использовать.
почему ты хочешь сделать это? Если вы хотите профилировать свой код, используйте профилировщик, например Xdebug
У меня есть безумные идеи безопасности, но спасибо. Я не знал о xdebug
Вот почему вы пишете свои собственные классы и инкапсулируете там функциональность, которую хотите иметь для этого конкретного случая. Зачем усложнять понимание вашего материала другому программисту?
ты можешь сделать это. вам нужно изменить файл php.ini
в директивах
auto_prepend_file
auto_append_file
Например
auto_prepend_file=/home/php/run_before.php
auto_prepend_file=/home/php/run_after.php
тогда
<?php echo('hi'); ?>
вывод будет:
# something before
hi
# something after
Вы совершенно правы, я не думал прямо о том, что использовал в качестве примера. Я думал об изменении внутреннего устройства, но не отставать от версий php было бы сложно. Спасибо