43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
// 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/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';
 |