Здравствуйте!
Сложилась интересная ситуация, имеем что-то вроде небольшого шаблонизатора.
Приведу небольшую вырезку из кода:
class Decor
{
  public function draw()
  {
    ob_start();
    $this->loadThemePart('name');
    $buffer = ob_get_contents();
    ob_end_clean();
    ...
    return $buffer;
  }
  public function loadThemePart($template_name)
  {
    if(!isset($some_var)) { $some_var = 'test variable'; }
    $expansionFile = '/some/path/to/file.php';
    include_once $expansionFile;
    include_once $template_name;
  }
}
И теперь, если написать вот этот пример в 
$expansionFile:
var_dump($some_var);
function old() {
    global $some_var;
    var_dump($some_var);
}
то в первом случае выведет 
test variable, а во втором - 
NULL
Никак не пойму, почему так происходит?