Интересно, можно ли заменить var_dump на некоторую определенную пользователем функцию. Я знаю, что вы можете использовать любые функции демпинга различных модулей или некоторые обертки. Но я хочу добиться того, что любой в моем проекте, который использует «var_dump», получает мою новую функцию, не «зная» ее и без необходимости использовать другой синтаксис. Просто переопределите функцию. ThanksЗаменить var_dump с помощью настраиваемой функции в PHP
ответ
PHP не поддерживает повторное объявление функций AFAIK. Однако есть небольшой трюк, который вы можете сделать на основе конкретного случая.
Допустим, этот код в файле:
var_dump($a);
var_dump($b);
var_dump($c);
Вы можете просто обернуть это в пространство имен следующим образом:
namespace OverridingGlobalNamespace {
function var_dump($_) {
echo "My custom var_dump";
}
var_dump($a); //Will use namespace function instead of PHP function
var_dump($b);
var_dump($c);
}
Привет, это кажется интересным решением, я должен проверить, действительно ли это работает;) – Asped
, как вы говорите - это конкретный случай, я до сих пор не могу применить его ко всем вызовам var_dump. Поэтому я думаю, что это невозможно :) – Asped
@Asped Я не утверждаю, что это идеальное решение или даже хорошая идея. Я просто считаю, что это интересная причуда языка. В идеале вы бы не хотели использовать var_dump, но свою собственную функцию-оболочку, которая делает то, что вы хотите (и которую вы можете определить по-разному в средах отладки и производства). – apokryfos
Вам нужно изменить исходный PHP для достижения того, что вы хотите. :-) – Ikari
Я всегда записываю функцию '' 'function vd ($ var) {echo '
'; } '' '. Я предлагаю вам это. –