结合PSR-4自动加载,考虑以下文件结构:
.
├── Foo
│ └── Bar.php
└── Foo.php类Bar.php用于扩展Foo.php。假设它们已经驻留在一个深嵌套的命名空间中,那么Bar.php的标题将如下所示:
<?php
namespace My\Cool\Project\Module\Foo;
class Bar extends \My\Cool\Project\Module\Foo
{效果很好。然而,让我困惑的是,是否有一种优雅的方法来避免重复字符串 My\Cool\Project\Module\Foo。这里潜在的问题是,必须手动重复它可能会导致排字和错误,而这些错误通常可以通过高效使用语言特性来防止。因此,我想知道是否有一种方式可以重写上面的代码,比如:
<?php
namespace My\Cool\Project\Module\Foo;
class Bar extends __NAMESPACE__
{或
<?php
namespace My\Cool\Project\Module\Foo;
class Bar extends ..\Foo
{或者类似的东西。
发布于 2015-11-21 01:30:41
(这就是为什么您实际上有名称空间;)名称空间并不意味着您必须指定要文件的“路径”
Foo.php
<?php
namespace \My\Cool\Project;
class Foo {
}Bar.php
<?php
namespace \My\Cool\Project;
class Bar extends Foo
{
}我真的不知道这怎么会导致错误,特别是当你使用像PHPStorm这样的ide,当你使用记事本的时候,是的,它会导致错误,但这不是你为什么要强奸PHP的原因。
https://stackoverflow.com/questions/33838378
复制相似问题