Class DataObject
Der MySQL-Provider kapselt das Managment für die Arbeit mit einer MySQL-Datenbank. Zum Speichern der Daten muss auf dem MySQL Server die folgende Tabellenstruktur angelegt sein:
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';
Der Name der Tabelle kann frei gewählt werden und muss mit der URI an den Provider übergeben werden.
- Alvine\Persistence\DataObjectImplementation
- Alvine\Persistence\Provider\MySQL\DataObject
Package: Alvine\Persistence\Provider\MySQL
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision:$
Since: 20110904
Link: alvine.io
Located at DataObject.class.php
public
|
#
__construct(
Erstellt einen neuen Provider. Die URI muss in der Form mysql://[username:password@]host1[:port1]/db/table übergeben werden. Wird db oder table nicht angegeben, so werden die Standardnamen aus DEFAULTTABLE und DEFAULTDATABASE verwendet. |
public
|
|
public
|
#
delete( string $id )
Löscht ein Objekt anhand seiner ID. Ist kein Objekt vorhanden, so wird eine ObjectNotFoundException geworfen. Bestimmte Provider können noch andere Providerspezifische Exceptions werfen. |
public
string
|
|
public
Alvine\Persistence\Provider
|
#
write( string $id, string $data )
Schreibt die Daten eines serialisierten Objekts. Wenn bereits ein Objekt unter dieser ID vorhanden ist, so wird dieses Objekt ohne Prüfung überschrieben, ansonsten wird die ID neu angelegt. |
public
Alvine\Persistence\Provider
|
|
public static
|
|
public
|
string |
FIELD_INDEX
Name der Indexspalte |
#
'sys_ID'
|
string |
FIELD_OBJECT
Objektspeicher |
#
'sys_so'
|
string |
FIELD_CREATION
Erstelldatum |
#
'sys_creation'
|
string |
FIELD_LASTUPDATE
Letztes Update |
#
'sys_lastupdate'
|
protected
MySQL
|
$connection
Verbindugsklasse |
#
null
|
protected
string
|
$database
Datenbank |
#
null
|
protected
string
|
$table
Tabelle |
#
null
|