Heya,
I always found it very ugly that it is possible to define a use outside of a
namespace. Consider the following:
namespace{ //default namespace
}
use foo\Bar;
namespace test{
new Bar(); //error, test\Bar not found
}
After some thoughts it is quite clear that Bar is test\Bar and not foo\Bar
inside of the namespace test. But consider
the following example which is not so obvious:
use foo\Bar;
namespace test;
new Bar(); //error, test\Bar not found
The use declaration looks like a normal use declaration at first glance.
I do not see why we should actually support this "feature" any longer and thus
suggest to remove it in PHP 7. Although,
it is not a bug (the use declaration is simply ignored as far as I can tell) I
suppose it confuses the user.
Nevertheless, even if we declare it as a "feature" I think it should at least
not be a "feature" of the specification of
PHP 7.
Thoughts?
Cheers,
Robert
ps: I first started the discussion @standards, just if you should wonder why it
pops up here now as well:
http://news.php.net/php.standards/528
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php