title: Differences in scope resolution and callbacks in PHP 5.3
body: <p>Working on some code today, I found that the following would work in 5.3, but not earlier.  </p>
  
  <pre><code>&lt;?php
  
  class Test{
      public function uasort(){
          $array = array( 'foo' =&gt; 'bar', 123 =&gt; 456 );
          uasort( $array, 'self::uasort_callback' );
  
          return $array;
      }
  
      static private function uasort_callback( $a, $b ){
          return 1;
      }
  }
  
  $Test = new Test;
  var_dump( $Test-&gt;uasort() );
  
  // version 5.3.2  - works fine
  // version 5.2.13 - Fatal error: Cannot call method self::uasort_callback() or method does not exist
  </code></pre>
  
  <p>Just curious as to what this feature is called, and whether its considered good, bad, (or sloppy) practice, since changing it to </p>
  
  <pre><code>uasort( $array, 'Test::uasort_callback' );
  </code></pre>
  
  <p>works fine in 5.2 as well.</p>