2011-12-05 108 views
0

我在想,考慮這個代碼:在名稱空間聲明中定義使用相同名稱空間是否是一種好的做法?

namespace A\B; 
use A\B as AB; 
use \Z\V as ZV; // another used namespace 

class Merry { 
    public static function Christmas{} 
} 

我的親這樣做是因爲在整個應用程序,我指的Merry::Christmas()作爲AB\Merry::Christmas(),我沒有記住我在哪裏,當我編碼,我只是使用AB\Merry::Christmas()無處不在。沒有混淆,沒有愚蠢的PHP錯誤。而且它對我來說似乎有點清潔。

在名稱空間聲明中定義名稱空間的use是一種好的做法嗎?

+0

沒有人可以阻止你不思考,但是當你不想記住任何命名空間時,你需要鍵入大量的字符組合作爲命名空間。但是課程會衝突。 – hakre

+0

@downvoter:不是一個真正的問題?真的嗎? – Shoe

+0

@hakre,我不認爲我明白了。類會衝突?怎麼樣? – Shoe

回答

1

也許我錯過了一些東西,但我不認爲它是令人興奮的東西。儘管它可以讓你在任何地方輸入AB\Merry::Christmas();,但是在你使用之前,沒有什麼能夠阻止你:\A\B\Merry::Christmas();,它只有兩個字符,並且不需要use語句。也就是說,額外的use聲明並不會造成危害,因此,無論您的船是否漂浮並且對特定應用程序的命名空間佈局最適用,都要這樣做。

+0

在我的例子中的A和B只是樣本名稱。 A也可以是'Avyuwfiuuf'和'Boiuwegfig','AB'可以指'Avyuwfiuuf \ Boiuwegfig'。 – Shoe

+0

@JeffPigarelli:哦,好的。這個問題並不清楚。那是有道理的。如果你一直使用其他名稱,它會更短,更清晰。 – Boann

+0

是的,抱歉的誤解。 – Shoe

相關問題