Signatur
Beschreibung
cubrid_get_class_name() ermittelt den Namen der CUBRID-Klasse (entspricht einer Tabelle im relationalen Kontext), zu der ein bestimmtes Objekt gehört, das über seine OID (Object Identifier) identifiziert wird. Die OID ist ein eindeutiger Bezeichner für Datensätze im objektorientierten Datenbankmodell von CUBRID.
Diese Funktion ist nützlich, wenn man mit CUBRID-Objekten arbeitet und dynamisch herausfinden möchte, zu welcher Klasse/Tabelle ein gegebenes Objekt gehört, ohne die Klasse bereits aus dem Kontext zu kennen. Dies ist besonders praktisch bei generischen Datenbank-Utilities oder bei der Verarbeitung von Objektreferenzen.
Sie wird in der Regel zusammen mit anderen OID-basierten Funktionen wie cubrid_get() oder cubrid_is_instance() verwendet, um Objekte in einer CUBRID-Datenbank zu inspizieren und zu verwalten.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $conn_identifier Pflicht | resource | Die CUBRID-Verbindungsressource, die von cubrid_connect() oder cubrid_connect_with_url() zurückgegeben wurde. |
|
| $oid Pflicht | string | Die OID (Object Identifier) des Objekts, dessen Klassenname ermittelt werden soll. Eine OID hat typischerweise die Form @pageId|slotId|volumeId, z. B. @620|1|0. |
Rückgabewert
false zurückgegeben.Beispiele
Klassennamen anhand einer OID ermitteln
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'public', '');
if (!$conn) {
die('Verbindung fehlgeschlagen: ' . cubrid_error());
}
// Eine bekannte OID eines Datensatzes in der Tabelle 'athlete'
$oid = '@620|1|0';
$className = cubrid_get_class_name($conn, $oid);
if ($className !== false) {
echo 'Die OID gehört zur Klasse: ' . $className;
} else {
echo 'Klassenname konnte nicht ermittelt werden.';
}
cubrid_disconnect($conn);
OID-Klasse prüfen und Objekt laden
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'public', '');
if (!$conn) {
die('Verbindung fehlgeschlagen.');
}
$oid = '@620|1|0';
// Prüfen, ob die OID existiert
if (!cubrid_is_instance($conn, $oid)) {
echo 'Die angegebene OID ist keine gültige Instanz.';
cubrid_disconnect($conn);
exit;
}
$className = cubrid_get_class_name($conn, $oid);
if ($className !== false) {
echo 'Klasse: ' . $className . PHP_EOL;
// Alle Attribute des Objekts laden
$data = cubrid_get($conn, $oid);
if (is_array($data)) {
foreach ($data as $key => $value) {
echo $key . ': ' . $value . PHP_EOL;
}
}
} else {
echo 'Fehler beim Ermitteln des Klassennamens.';
}
cubrid_disconnect($conn);
// Wichtig · Fallstricke
Hinweis zur OID: OIDs sind CUBRID-spezifisch und entsprechen keinem Standard-SQL-Konzept. Sie ändern sich nicht über die Lebensdauer eines Datensatzes, können jedoch nach einem Datenbankexport und -import abweichen.
Die Funktion steht nur zur Verfügung, wenn PHP mit der CUBRID-Extension kompiliert wurde (--with-cubrid) und erfordert eine aktive Datenbankverbindung. Ohne gültige Verbindungsressource wird false zurückgegeben.
CUBRID verwendet den Begriff Klasse im Sinne des objektorientierten Datenbankmodells; im relationalen Kontext entspricht eine Klasse in der Regel einer Tabelle.