$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/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';