What are the potential drawbacks of creating an additional layer, such as a "Wrapper Class," for handling instantiation in PHP?

Creating an additional layer, such as a "Wrapper Class," for handling instantiation in PHP can introduce unnecessary complexity and overhead to the codebase. It may also lead to decreased performance due to the extra layer of abstraction. Additionally, it can make the code harder to maintain and debug as it adds another level of indirection.

// Example of creating a Wrapper Class for instantiation in PHP

class WrapperClass {
    public function instantiateObject($className) {
        return new $className();
    }
}

// Usage
$wrapper = new WrapperClass();
$instance = $wrapper->instantiateObject('ClassName');