What potential pitfalls should be considered when trying to call non-static methods from a static method in PHP?

When trying to call non-static methods from a static method in PHP, the main issue is that static methods do not have access to $this, which is a reference to the current object instance. To solve this issue, you can either make the non-static method static or create an instance of the class within the static method to access the non-static methods.

class MyClass {
    public function nonStaticMethod() {
        return "Hello, World!";
    }

    public static function staticMethod() {
        $instance = new self();
        return $instance->nonStaticMethod();
    }
}

echo MyClass::staticMethod(); // Output: Hello, World!