我正在爲我的框架開發一個簡單的會話管理器。我試圖爲會話數據設置一個更加用戶友好的結構。從本質上講我的會話存儲這樣的:通過函數參數設置多維數組
$app_name = "Some_App_Name";
$component = "notifications";
$key = "errors";
$value = "There was some error";
$_SESSION[$app_name][$component][$key] = $value;
我面對的是通過會話類中的參數創建這種結構的問題。我有一個理想設置會話值的set方法。上面列出的$ app_name默認通過構造函數添加到會話類中,但我需要找到一種簡單的方法來獲取方法中傳遞的參數,然後創建剩餘的參數。一個簡單的例子:
// Where keys could be: $key1 = notifications, $key2 => "notices"
public static function set($key1,$key2,$value) {
$_SESSION[self::$app_name][$key1][$key2] = $value;
}
以上會工作,如果我總是有4個參數,但在某些情況下,我可能只有2個參數。我可以傳遞2個參數(都是一個數組),但我正在尋找更簡化的方法(如果存在這種方法)。
隨着結構的創建和設置值,我還需要驗證,如果值或最後一個鍵存在的一個類似的方式:
// Where keys could be: $key1 = notifications, $key2 => "errors"
public static function exists($key1,$key2) {
if(isset($_SESSION[self::$app_name][$key1][$key2])) {
return true;
}
任何建議將大大讚賞。
問題是,我並不總是知道可能有多少個參數。我想創建函數來利用所有傳遞的參數(可以是1 - 1000哈哈),並創建結構並將最後一個參數作爲值。 – mauzilla