44 lines
1.0 KiB
PHP
44 lines
1.0 KiB
PHP
<?php
|
|
// Define Helpers
|
|
function genericDeepCopy(mixed $data): mixed {
|
|
if (is_array($data)) {
|
|
$copy = [];
|
|
foreach ($data as $key => $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';
|