2015-12-30 65 views
0

我想澄清名称空间的使用。几个类的PHP相同的命名空间

如果我在同一个命名空间两班,像这样:

<?php 

namespace Test\Collection; 

class First{} 

和:

<?php 

namespace Test\Collection; 

class Second{} 

在这种情况下,我能以这种方式使用它们?

use Test\Collection; 

$first = new First(); 
$second = new Second(); 

谢谢。

+2

而问题是?你为什么不简单地自己测试一下,看看 –

+0

我试过了,它不起作用,因为它应该在要使用的命名空间中指定类名,所以我想知道是否有另一种方法来做到这一点,我将不包含任何名称空间,但我想包含一个名称空间并使用所有类。我很抱歉我的英语。 谢谢 – enzo

回答

3

您可以使用多个类命名空间像下面

use Test\Collection as Container; 

$first = new Container\First(); 
$second = new Container\Second(); 

,我认为从@Will第二解决方案可能无法在某些情况下工作。

为了您更好的理解,请看看这个explanation。希望这有助于

1

不完全。

你的榜样,你需要:

<?php 

use Test\Collection\First; 
use Test\Collection\Second; 

$first = new First(); 
$second = new Second(); 

或者:

<?php 

use Test\Collection; 

$first = new Collection\First(); 
$second = new Collection\Second(); 

更多信息请参见the documentation。这被称为“命名空间导入或别名”。

+1

谢谢,这正是我想知道的。 – enzo