DataObject¶
Das Datenobjekt \Alvine\Persistence\Provider\MySQL\DataObject
umfasst die grundlegenden Datenbankoperationen (CRUD) zur
Manipulation von Inhalten. Die Datenstruktur ist hierbei für die Serialisierung von Objekten ausgelegt.
- Create, Datensatz anlegen,
- Read oder Retrieve, Datensatz lesen,
- Update, Datensatz aktualisieren, und
- Delete oder Destroy, Datensatz löschen.
Für das Beispiel wird zuerst eine URI mit der Datenbankdatei definiert.
$uri='mysql://root:secret@localhost:3306/alvine/object';
$obj=new \Alvine\Net\Resource\URI($url);
Für dieses Beispiele muss eine Datenbank mit der Tabelle object
angelegt und
verfügbar sein. Diese kann über das folgende SQL-Script erfolgen.
CREATE TABLE IF NOT EXISTS `object` (
`sys_ID` varchar(255) NOT NULL
COMMENT
'ID des Objektes, bei Alvine-Objekten ist dies eine UUID',
`sys_so` text NOT NULL
COMMENT 'Serialisierte Objektdaten',
`sys_creation` datetime NOT NULL
COMMENT
'Dieses Objekt wurde zu diesem Zeitpunkt erstellt',
`sys_lastupdate` datetime NOT NULL
COMMENT
'Die letzte Änderung am Objekt erfolgte zu dieser Zeit',
PRIMARY KEY (`sys_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
COMMENT='Speicher für Alvine-Objekte';
Im Anschluß können die folgenden Anweisungen ausgeführt werden.
// Datenobjekt erstellen ($uri ist vom Typ \Alvine\Net\Resource\URI).
$dataObject=new \Alvine\Persistence\Provider\MySQL\DataObject($uri);
$id = 'my-value-1';
// Inahlt schreiben
$dataObject->write($id, 'Test');
// Inhalt überschreiben
$dataObject->update($id, 'Neuer Wert');
// Inhalt der ID lesen
$result = $dataObject->read($id);
echo $result;
// -> Neuer Wert
// Objekt löschen
$dataObject->delete($id);