Ситуация:
индекс.php:
<?php
include("foo.php");
include("baz.php");
foo("bar.php");
?>
баз.php:
<?php
$x = 42;
?>
foo.php:
<?php
function foo($p) {
include_once($p); // please dont mind the inclusion hole
}
?>
бар.php:
<?php
echo $x;
?>
Zend уведомление: неопределенная переменная: x
Размещение глобального $x; в bar.php удаляет уведомление, но я понимаю, почему в первую очередь есть уведомление об этом.. Не включает в себя большую часть работы, например включение заголовков C? Это означало бы, что интерпретируемый код будет выглядеть так:
<?php
function foo($p) {
include_once($p); // please dont mind the inclusion hole
}
$x = 42;
// this however, is included by a function...
// does the function's scope influence the stuff it includes?
echo $x; // undefined variable
?>
Мой редактор — это пакет Eclipse/Zend.