Фрагмент 1 работ. Фрагмент 2 - нет. Зачем?Определение функции внутри условного кода
1.
foo();
function foo()
{
// do soemething
}
2.
foo();
if(!function_exists("foo"))
{
function foo()
{
// do soemething
}
}
Фрагмент 1 работ. Фрагмент 2 - нет. Зачем?Определение функции внутри условного кода
1.
foo();
function foo()
{
// do soemething
}
2.
foo();
if(!function_exists("foo"))
{
function foo()
{
// do soemething
}
}
См http://www.php.net/manual/en/functions.user-defined.php:
Функции не должны быть определены до они ссылаются, кроме случаев, когда функция условно [...] Его определение должно быть обработано до для вызова.
Вы пытаетесь выполнить Foo() перед тем тестирования, чтобы увидеть является ли это определено или нет (и впоследствии его определения)
if(!function_exists("foo"))
{
function foo()
{
// do soemething
}
}
foo();