title: PHP 5.4.4-9 (debian testing) - require_once not pulling files recursively
body: <p>I'm getting sort of an unexpected behaviour while trying to implement a class A that uses a class B. Here are the contents of the files:</p>
  
  <pre><code>&gt; cat test.php
  &lt;?php
  
  error_reporting(E_ALL);
  require_once("A.php");
  //require_once("B.php"); //now it'd work, but it's not the point
  
  $a = new A();
  $b = $a-&gt;getB();
  var_dump($b);
  $b-&gt;sayHi();
  &gt; cat A.php
  &lt;?php
  
  require_once('B.php');
  
  class A
  {
          private $b;
  
          public function getB()
          {
                  return $this-&gt;b;
          }
  
          public function __construct()
          {
                  $b = new B();
          }
  }
  &gt; cat B.php
  &lt;?php
  
  class B
  {
          public function sayHi()
          {
                  echo "Hi!";
          }
  }
  &gt; php test.php
  NULL
  PHP Fatal error:  Call to a member function sayHi() on a non-object in /var/www/przypadek_testowy/test.php on line 10
  </code></pre>
  
  <p>Is there some PHP quirk I should have known about? Requiring B.php in test.php is ugly in this case and I'd prefer a better solution.</p>