PHP ver gevorderde |
|
Beste,
Ik probeer gebruikersdata op te slaan in een aparte klasse, zodat de informatie altijd opgevraagd kan worden en gebruikt.
Nu is het zo dat de GetData functie niet goed controleert, dit doe ik met PHP.net: in_array
Volledige code:
class userdata {
/**
* aUserData
* Deze is private want we hebben er de magische functies __get en __set voor!
* @return: array
**/
protected static $aUserData = array();
/**
* aSettings
* Hierin staan dus alle settings uit de config =]
**/
private $aSettings;
public function __construct($aSettings) {
$this->aSettings = $aSettings;
}
/**
* GetData (static)
* Data ophalen uit de dataarray
* @param: string [zoek]
* @return: string [krijg]
**/
public static function GetData($sKey) {
$aData = self::$aUserData;
echo 'check '.$sKey;
if(in_array($sKey, $aData)) {
return self::$aUserData[$sKey];
} else return false;
}
public static function SetData($sKey, $sVal) {
self::$aUserData[$sKey] = $sVal;
}
}
class userdata { /** * aUserData * Deze is private want we hebben er de magische functies __get en __set voor! * @return: array **/ /** * aSettings * Hierin staan dus alle settings uit de config =] **/ private $aSettings; public function __construct($aSettings) { $this->aSettings = $aSettings; } /** * GetData (static) * Data ophalen uit de dataarray * @param: string [zoek] * @return: string [krijg] **/ public static function GetData ($sKey) { $aData = self::$aUserData; return self::$aUserData[$sKey]; } else return false; } public static function SetData ($sKey, $sVal) { self::$aUserData[$sKey] = $sVal; } }
Klopt het dat in_array niet werkt op static instances?
Edit:
Ja, als ik een dump doe van self::$aUserData krijg ik wel ID te zien:
Edit: Lol, lama.. [id] is een key en hij zoekt op values... Stupid me , gebruik nu PHP.net: array_key_exists
|