Anda dapat mengurai schema.xml Anda dengan simplexml PHP.
$xml = simplexml_load_file('schema.xml');
$tableExists = 0 < count($xml->xpath("table[@phpName='$tableName']"));
Jangan lupa untuk memfilter input pengguna untuk $tableName
, jika tidak, Anda dapat memasukkan kueri sendiri ke xpath. Untuk mendapatkan kinerja yang lebih baik, Anda harus menyimpan hasil Anda dalam cache.
Lebih baik lagi jika Anda membuat peta hash dengan semua tabel berdasarkan schema.xml
Anda , tembolok peta hash ini dan periksa setiap saat.
$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]);
Dalam hal ini, sebenarnya tidak perlu memfilter input pengguna.