What are the potential pitfalls of using class_alias() in PHP when working with abstract classes and inheritance?

When using class_alias() with abstract classes and inheritance in PHP, a potential pitfall is that the alias may not correctly inherit the abstract class's properties and methods. To solve this, you can create a new concrete class that extends the abstract class and then use class_alias() to alias the concrete class instead.

abstract class AbstractClass {
    abstract public function someMethod();
}

class ConcreteClass extends AbstractClass {
    public function someMethod() {
        // implementation
    }
}

class_alias('ConcreteClass', 'AliasClass');

// Now you can use AliasClass as if it were a direct alias of AbstractClass
$instance = new AliasClass();
$instance->someMethod();