$value) $copy[$key] = genericDeepCopy($value); return $copy; } elseif (is_object($data)) { // If the object supports a copy method. if (method_exists($data, 'copy')) return $data->copy(); // Use PHP's clone as fallback. return clone $data; } else { // Scalar variables. return $data; } } // Require all enums require 'enums/Propagation.php'; require 'enums/Aggregation.php'; require 'enums/Operator.php'; require 'enums/Order.php'; require 'enums/Charset.php'; require 'enums/Collation.php'; require 'enums/Type.php'; require 'enums/Engine.php'; require 'enums/Join.php'; // Require all classes require 'Database.php'; require 'Conditionable.php'; require 'Deletion.php'; require 'Insertion.php'; require 'Migration.php'; require 'Query.php'; require 'Schema.php'; require 'Table.php'; require 'Update.php';