Traits
Traits aka Horizontal Code Reuse

(Compiler-assisted Copy-and-Paste)

<?php
trait Singleton {
    public static function 
getInstance() { ... }
}

class 
{
    use 
Singleton;
    
// ...
}

class 
extends ArrayObject {
    use 
Singleton;
    
// ...
}

// Singleton method is now available for both classes
A::getInstance();
B::getInstance();