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);