0
我正在爲類創建配置屬性,但使它很容易可用我正在創建一個函數$key
和$value
參數來設置配置選項。PHP:創建配置功能來設置或全局檢索值
我設法得到部分解決它,但是這個代碼是不加載系統中的所有配置的關鍵定義,但它只是加載的關鍵,如果我們定義的鍵後調用。
所以我怎麼能做出這樣的事情,所以我在哪裏調用該函數將加載系統中的所有設置鍵不管。
調用函數來設置配置關鍵
// set very first key
ss_config('use_ob', true);
// debug
do_print(ss_config()); // this is just a debugging function with pre and print_r
//output (so here I want to load all set keys regardless either I am calling before or after set in the system)
Array
(
[use_ob] => 1
)
設置另一個關鍵
// after above output I set this
ss_config('hello', 'world');
// debug
do_print(ss_config());
// output
Array
(
[use_ob] => 1
[hello] => world
)
配置功能
/**
* Global config settings
* @param string $key config key
* @param mixed $value config value for the key
*
* @return array
*/
function ss_config($key = NULL, $value = NULL)
{
//$ss_config = qam_ss();
if (isset($key) && isset($value)) {
qam_ss()->ss_config[ $key ] = $value;
} elseif (isset($key) && !isset($value)) {
qam_ss()->ss_config[ $key ];
}
return qam_ss()->ss_config;
}
感謝您的參考。那麼你是否認爲爲'Config'創建單獨的類而不僅僅是將屬性添加到主類是個好主意?此外,我不是每次都要實例化類,我想讓開發人員使用一個函數。所以如果我在函數中設置實例並且返回'$ config',我會在全局獲取所有密鑰嗎? –
@CodeLover查看編輯答案;分類功能通常更好。如果你想要一個全局配置存儲,那最好保存爲一個額外的類。如果您需要存儲一些對您的課堂重要的值,請將其保存在上面的示例中。 如果你需要一個更精緻的例子,來看看我的[Github上項目(https://github.com/Radiergummi/libconfig)。 –
好吧,工作正常,但如果我想要所有註冊的配置項目呢?其實,我看到的是,如果我調用沒有鍵的配置,並且即使在定義鍵和值應該可用之前,我正在調用。如果你在我的代碼中看到我設置'你好,world'項目是可用的,如果我把它叫做集之後,而不是在第一個'do_print' –