Lieber Jens,
Deine Klasse definiert ein Objekt mit Methoden, aber ohne Eigenschaften.
Der $user soll so 'aussehen':
$user['data']['id']
$user['data']['email']
$user['data']['name']
Du notierst hier anscheinend ein assoziatives Array. Willst Du das auch so? Das ginge so:
class User {
private $data = array (
'id' => '',
'email' => '',
'name' => ''
);
public function __construct () { ... }
private function GetUserPersonData () { ... }
private function GetUserMenuItems ( $userId ) { ... }
}
Ich möchte beim Aufruf von
$user = new User();
im Hauptprogramm einen Nutzer erstellen, der schon vorbelegte Inhalte hat.
class User {
private $data = array (
'id' => uniqid('user_', true),
'email' => '',
'name' => ''
);
public function __construct ($params) {
// copy values into $this->data
if (!empty($params) && is_array($params)) {
foreach (array_keys($this->data) as $key) {
// exclude 'id' since it must be unique
if ($key != 'id' && array_key_exists($key, $params)) {
$this->data[$key] = $params[$key];
}
}
}
}
...
}
$user = new User(array(
'email' => 'user@example.org',
'name' => 'Fiffy the Great'
));
Liebe Grüße,
Felix Riesterer.