2012-03-21 115 views
3

我有一個單獨的文件中,我需要在多個命名空間中指定的類,類似:PHP根命名空間

<?php 

namespace library; 

class ClassInLib { 
    ... 
} 

namespace \; //Switch to root namespace 

class ClassInRoot { 
    ... 
} 

上面的代碼具有在namespace \;語法錯誤。如何從library名稱空間切換到根名稱空間?

爲什麼我需要這個:我需要在單元測試過程中模擬一堆類,我不認爲這些非常短的模擬類證明是在單獨的文件中。

回答

5
namespace 
{ 
    class RootClass 
    { 

     function whatever(); 
    } 
} 
namespace Symfony\Component\DependencyInjection 
{ 
    interface ContainerAwareInterface 
    { 

     function setContainer(ContainerInterface $container = null); 
    } 
} 

http://www.php.net/manual/en/language.namespaces.definitionmultiple.php

好機會,你將決定不管怎樣使用單獨的文件。

+0

嘿,謝謝,這個答案會做,只有根名稱空間需要在圖書館的名字空間之後才能真正搶佔自動加載器,但是它也是相反的。 – 2012-03-21 20:40:48