47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 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';
 | 
						|
 | 
						|
// Include testing framework
 | 
						|
require 'tests/TestManager.php';
 |