看到從password_compat在PHP中這條線,我不知道它做什麼:這種情況下只有`namespace`是什麼意思?
namespace {
//...
}
它是類似於JavaScript中的匿名函數包裝一些代碼?它的目的是什麼?
注:我知道如何正常使用的命名空間,我只是不明白這一點,因爲它看起來像一個命名空間,但沒有任何名,對我來說,到目前爲止,沒有任何目的。
看到從password_compat在PHP中這條線,我不知道它做什麼:這種情況下只有`namespace`是什麼意思?
namespace {
//...
}
它是類似於JavaScript中的匿名函數包裝一些代碼?它的目的是什麼?
注:我知道如何正常使用的命名空間,我只是不明白這一點,因爲它看起來像一個命名空間,但沒有任何名,對我來說,到目前爲止,沒有任何目的。
它聲明代碼位於全局名稱空間中。這樣做的目的是在後面的文件中有兩個函數在私有名稱空間中實現,PHP要求如果文件中使用了任何名稱空間,則文件中的第一個關鍵字必須是namespace
。所以要在同一個文件中混合全局和名稱空間的代碼,這就是它需要的樣子。
查看https://github.com/ircmaxell/password_compat/commit/88911e6abebb324cca88f546f04d6e71ce778bd3用於特定提交。
該提交是一個很好的附加答案,謝謝! –
該定義旨在確保包含該文件的文件加載到全局名稱空間的中。看看this answer
namespace // empty namespace means global
{
// Ensure everything you put here belongs the global namespace
}
但是,技術上來講,正是一樣不會宣佈任何命名空間可言。在這兩種情況下,它中的所有內容都將屬於全局命名空間。
我認爲這是強迫它在所有PHP名稱空間的根目錄'/' –
這是一個空的名稱空間,這意味着它是全局的 –