2016-01-11 22 views
1

我正在PHP中創建一個函數文件,爲此我想使用一個名稱空間。在非類文件中使用名稱空間

命名空間是包含所有文件還是隻包含某些部分?

一個例子是:

namespace Functions; 

function foo() 
{ 
    return "foo"; 
} 

function bar() 
{ 
    return "bar"; 
} 

或者這將是:

namespace Functions; 

function foo() 
{ 
    return "foo"; 
} 

namespace Functions; 

function bar() 
{ 
    return "bar"; 
} 

顯示爲一個文件兩個例子

+0

是的,你使用自動加載的類,spl_autoload_register()函數註冊任意數量的自動加載器,使類和接口自動加載,如果他們目前尚未定義。通過註冊自動加載器,PHP有最後的機會在失敗之前加載類或接口,併發生錯誤。 –

回答

1

您可以創建靜態類:

namespace helpers; 
class Hello 
{ 
    private static $greeting = 'Hello'; 
    private static $initialized = false; 

    private static function initialize() 
    { 
     if (self::$initialized) 
      return; 

     self::$greeting .= ' There!'; 
     self::$initialized = true; 
    } 

    public static function greet() 
    { 
     self::initialize(); 
     echo self::$greeting; 
    } 
} 

如果你沒有使用OOP,其中名稱空間是

的一部分
+0

所以要使用命名空間它必須是面向對象是這個一般的想法? –

+0

這就是命名空間的使用方式,你可以使用'use'來包含其他.php文件並將其稱爲函數。但OOP真的很好用 –

+0

謝謝你,我會牢記這一點:) –

相關問題