2015-12-30 38 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