#34689 [Fbk->Bgs]: Inconsistent handling of $GLOBALS from included files

From: Date: Fri, 30 Sep 2005 10:43:00 +0000
Subject: #34689 [Fbk->Bgs]: Inconsistent handling of $GLOBALS from included files
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-85805@lists.php.net to get a copy of this message
 ID:               34689
 Updated by:       sebastian@php.net
 Reported By:      sebastian@php.net
-Status:           Feedback
+Status:           Bogus
 Bug Type:         Scripting Engine problem
 Operating System: *
 PHP Version:      5.1.0-CVS
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php

You're right, Jani. Seems like the PHPUnit bug report that got me into
this had me confused.

Thank you for your time and setting my head straight :-)


Previous Comments:
------------------------------------------------------------------------

[2005-09-30 12:36:25] tony2001@php.net

Sebastian, why they should become globals if you declare them inside a
function?

------------------------------------------------------------------------

[2005-09-30 12:29:34] sebastian@php.net

I am using CVS (current PHP_5_1).

------------------------------------------------------------------------

[2005-09-30 12:28:10] sniper@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



------------------------------------------------------------------------

[2005-09-30 12:26:35] sebastian@php.net

Description:
------------
test.php

  <?php
  include_once 'foo.php';
  var_dump($GLOBALS['foo']);
  ?>

foo.php

  <?php
  $foo = 'bar';
  ?>

Output

  string(3) "bar"


test.php

  <?php
  class PHPUnit2_Util_Fileloader {
      public static function checkAndLoad($filename) {
          include_once $filename;
      }
  }

  PHPUnit2_Util_Fileloader::checkAndLoad('foo.php');
  var_dump($GLOBALS['foo']);
  ?>

foo.php

  <?php
  $foo = 'bar';
  ?>

Output

  NULL


test.php

  <?php
  class PHPUnit2_Util_Fileloader {
      public static function checkAndLoad($filename) {
          include_once $filename;
      }
  }

  PHPUnit2_Util_Fileloader::checkAndLoad('foo.php');
  var_dump($GLOBALS['foo']);
  ?>

foo.php

  <?php
  $GLOBALS['foo'] = 'bar';
  ?>

Output

  string(3) "bar"

Reproduce code:
---------------
test.php

  <?php
  class PHPUnit2_Util_Fileloader {
      public static function checkAndLoad($filename) {
          include_once $filename;
      }
  }

  PHPUnit2_Util_Fileloader::checkAndLoad('foo.php');
  var_dump($GLOBALS['foo']);
  ?>

foo.php

  <?php
  $foo = 'bar';
  ?>

Expected result:
----------------
string(3) "bar"

Actual result:
--------------
NULL


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34689&edit=1


Thread (5 messages)

« previous php.bugs (#85805) next »