Sie können Ihre schema.xml mit PHPs simplexml parsen.
$xml = simplexml_load_file('schema.xml');
$tableExists = 0 < count($xml->xpath("table[@phpName='$tableName']"));
Vergessen Sie nicht, die Benutzereingaben nach $tableName
zu filtern , andernfalls ist es möglich, eine eigene Abfrage in xpath einzufügen. Um eine bessere Leistung zu erzielen, sollten Sie Ihre Ergebnisse zwischenspeichern.
Noch besser wäre es, wenn Sie anhand Ihrer schema.xml
eine Hashmap mit allen Tabellen erstellen , diese Hash-Map zwischenspeichern und jedes Mal damit vergleichen.
$hashMap = $foo->getCache('tables');
if (!$hashMap) {
$xml = simplexml_load_file('schema.xml');
$tables = $xml->xpath("table");
foreach ($tables as $table) {
$hashMap[$table['phpName']] = true;
}
$foo->setCache('tables', $hashMap);
}
$tableExists = isset($hashMap[$tableName]);
In diesem Fall ist es nicht wirklich notwendig, die Benutzereingaben zu filtern.