3
我有一組用於數據存儲的類。它目前有一個適用於Google Drive,Dropbox,Box,FTP和本地連接的工作連接器。我設計了這個來構建一個文件管理器,客戶端可以管理多個數據存儲源。PHP - 爲給定名稱空間獲取已定義的常量
這是我的問題。目前,我實現addConnection()
方法如下:
// addConnection - adds a storage connection to the storage manager
public function addConnection($service, $credentials) {
if (!empty($service) && !empty($credentials)) {
if (in_array($service, [Connectors\Box, Connectors\Dropbox, Connectors\FTP, Connectors\GoogleDrive, Connectors\Local], true)) {
// rest goes here...
}
}
}
我有我的常量在不同的命名空間是這樣的:
namespace Services\Storage\Connectors {
const Box = "Box";
const Dropbox = "Dropbox";
const FTP = "FTP";
const GoogleDrive = "GoogleDrive";
const Local = "Local";
}
有我讓所有的定義常量的方式給定命名空間?這樣,我可以構造一個函數來獲取所有已定義的常量,並寫出更優雅的東西,如in_array($service, getConstants($this->getNamespace()), true)
。
你能給我一個提示嗎?
哇。我真的很感動。我將不得不添加幾行代碼來刪除'service \ storage \'字符串,但這樣做有訣竅。非常感謝! :) –