Bạn có thể phân tích cú pháp schema.xml của mình bằng simplexml của PHP.
$xml = simplexml_load_file('schema.xml');
$tableExists = 0 < count($xml->xpath("table[@phpName='$tableName']"));
Đừng quên lọc thông tin đầu vào của người dùng cho $tableName
, nếu không, bạn có thể đưa truy vấn của riêng mình vào xpath. Để có hiệu suất tốt hơn, bạn nên lưu kết quả vào bộ nhớ cache.
Sẽ tốt hơn nếu bạn tạo một bản đồ băm với tất cả các bảng dựa trên schema.xml
của bạn , lưu vào bộ nhớ cache bản đồ băm này và kiểm tra lại điều này mọi lúc.
$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]);
Trong trường hợp này, không thực sự cần thiết để lọc thông tin đầu vào của người dùng.