php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #22501 Problem referencing static var of class inside a namespace
Submitted: 2003-03-02 01:48 UTC Modified: 2003-05-27 01:00 UTC
From: ben at pirionsystems dot com dot au Assigned:
Status: No Feedback Package: Scripting Engine problem
PHP Version: 5CVS-2003-03-02 (dev) OS: Windows XP
Private report: No CVE-ID: None
 [2003-03-02 01:48 UTC] ben at pirionsystems dot com dot au
Hi!

I've found an odd problem that looks like just a problem with the parser syntax.  The following example will show it:

<?php

namespace Test:Test2 {
class Test3 {
static $blah = "qwerty";
}
}

// this works as expected by printing out "qwerty";
print "Test:Test2::Test3::\$blah: ".Test:Test2::Test3::$blah."<br>\n";


namespace Test4 {
class Test5 {
static $blah = "asdf";
}
}

// this causes a parse error: unexpected T_PAAMAYIM_NEKUDOTAYIM
print "Test4::Test5::\$blah: ".Test4::Test5::$blah."<br>\n";

?>

So, if the namespace name has a : in it, then you can reference variables within a class contained within the namespace, otherwise you can't. So, assuming that the : doesn't do anything special, it looks like a problem with the flex/yacc/whatever it is parser and the engine should cope with it.

I think that's everything.

Ben

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-04-18 18:30 UTC] thekid at thekid dot de
Cannot reproduce with current PHP5:

thekid@friebes:~/devel/php/php5 > cat | php5
<?php
  namespace Foo {
    class Bar {
      static $x= 'y';
    }
  }

  var_dump(Foo::Bar::$x);
?> 
string(1) "y"
 [2003-05-27 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over 2 weeks, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 15:01:29 2024 UTC