Dafür brauchst du das Array nicht:
PHP-Code:
$notification = new Notification();
reicht und du kannst die Werte per
PHP-Code:
$notification->user
ansprechen.
Die Frage ist nur, ob es sich lohnt das vorher in eine Klasse zu packen, nur um anschließend die Werte wieder aus der Klasse zu ziehen und diese in die Datenbank zu packen.
Wenn die Klasse größer ist und evtl. noch andere Dinge enthalten soll, dann evtl., aber so musst du dir ja sowieso den User ermitteln, den Text bekommst du aus den POST-Daten und das Datum kannst du z.B. per mysql-Funktion "NOW()" verwenden.
Beim anschließenden auslesen aus der DB macht es mehr Sinn die Daten in eine Klasse zu packen, um ein sauberes Interface zu haben, z.B.:
PHP-Code:
$result = mysql_query("SELECT * FROM notification_table ORDER BY date DESC LIMIT 10");
$notifications = array();
while ($row = mysql_fetch_assoc($result)) {
$notifications[] = new Notification($row['user'], $row['text'], $row['date']);
}
Wenn du die Daten aber z.B. als JSON zurückgeben willst, dann lohnt es sich ebenfalls nicht diese in eine Klasse zu packen, da json_encode direkt mit einem Array arbeiten kann, also würde es reichen die Tabellenzeilen aus der DB zu ziehen und diese dann per json_encode auszugeben:
PHP-Code:
// ...
$jsonNotifications = array();
while ($row = mysql_fetch_assoc($result)) {
// ggfs. noch Konvertierungen, Normalisierungen, oder ...
$jsonNotifications[] = $row;
}
echo json_encode($jsonNotifications);
Wenn es sich um einen AJAX-Request handelt, dann kannst du so direkt mit den json-Daten arbeiten. Evtl. könnte man das Array noch so gestalten, dass auf erster Ebene ein Statuscode geliefert wird, so dass man ggfs. auf Fehlerfälle reagieren kann.
PHP-Code:
$jsonResponse = array('status' => 200, 'data' => array());
while (...) {
$jsonResponse['data'][] = $row;
}
Aber wie gesagt, denke immer daran, dass HTTP ein statusloses Protokoll ist. Nach jedem Request sind deine Daten weg, soll heißen, dass du dich immer darum kümmern musst, dass bei einem Request alle benötigten Daten entweder mit übergeben werden, z.B. als GET- oder POST-Parameter, innerhalb der Session gespeichert werden, oder du sie aus einer DB oder Datei auslesen musst, um überhaupt erstmal einen Stand herzustellen, womit du dann arbeiten kannst.
Wenn du diesen Stand hast, dann kannst du deine Änderungen vornehmen (Notifications eintragen, etc.), und ggfs. dann die Daten laden, die als Ergebnis des Requests angezeigt werden sollen. Sobald die Ausgaben an den Client gesendet wurden sind alle Daten des Scripts weg, wenn diese nicht vorher gespeichert wurden.