Req #52504 [Com]: Support relative namespaces
| From: | mtdowling at gmail dot com | Date: | Tue, 05 Nov 2013 18:50:48 +0000 |
| Subject: | Req #52504 [Com]: Support relative namespaces | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-182613@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=52504&edit=1
ID: 52504
Comment by: mtdowling at gmail dot com
Reported by: robert dot de dot wilde at online dot nl
Summary: Support relative namespaces
Status: Not a bug
Type: Feature/Change Request
Package: Class/Object related
Operating System: Any
PHP Version: 5.3.3
Block user comment: N
Private report: N
New Comment:
This feature request would allow libraries to be written in a way that they can be vendored inside
of other libraries without having to modify the library being vendored. Other languages, e.g.,
Python, allow this type of relative namespace traversal.
I don't agree that it would be hard to read or require "more brain power".
Previous Comments:
------------------------------------------------------------------------
[2013-03-19 12:01:32] vitaly dot mukhin at gmail dot com
Two cases:
namespace Language\Programming\Scripting;
{
class Php extends ..\Scripting
{}
}
VS
namespace Language\Programming\Scripting;
{
class Php extends \Language\Programming\Scripting
{}
}
This example, I suppose, covers a huge percentage of class extendings. And, as you can see, first
variant is much more easier and convenient in using.
------------------------------------------------------------------------
[2012-04-02 21:01:45] francescrosasbosque at gmail dot com
As I understand it accessing parent namespaces would require the same brain power
that it needs to access child namespaces as both of them rely on knowing what's
the current namespace. To me it is weird to have one but not the other.
------------------------------------------------------------------------
[2012-02-28 10:38:59] johannes@php.net
Adding support for the ..\..\Foo\Bar notation quickly requires quite some brain power to read the
code, especially in a longer file where the namespace declaration might not be on the same screen.
We try to keep PHP code human-readable.
Doing the use foo\*; thing is not possible due to PHP's dynamic nature. We do not know which
classes there might be (think __autoload) so we'd like to do it but can't.
------------------------------------------------------------------------
[2012-02-26 10:10:33] tom at tomwardrop dot com
I was just about to post the exact same feature suggestion. I'm using PHP 5.4 RC8
after 2 years of programming Ruby (I have a project that better lends itself to
PHP template-orientated nature), and this was one of the first things I tried to
do, reference a resource one level up in the namespace hierarchy. Luckily, my
namespace isn't too deep, but I can imagine some of the larger frameworks which
have 3-6+ level deep namespaces could really benefit from this.
I'm surprised none of the dev's have commented on this.
------------------------------------------------------------------------
[2010-08-18 15:44:12] robert dot de dot wilde at online dot nl
Any developer can have a look?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=52504
--
Edit this bug report at https://bugs.php.net/bug.php?id=52504&edit=1