What potential pitfalls exist when dynamically editing a class and using method_exists in PHP?

When dynamically editing a class in PHP and using method_exists to check for the existence of a method, there is a potential pitfall if the class is being modified at runtime. If a method is added or removed after the initial check with method_exists, the result may not accurately reflect the current state of the class. To solve this issue, you can use the reflection API to dynamically check for the existence of a method.

// Using reflection to check for the existence of a method in a class
function methodExists($class, $method) {
    $reflection = new ReflectionClass($class);
    return $reflection->hasMethod($method);
}

// Example of how to use the methodExists function
$class = 'MyClass';
$method = 'myMethod';

if (methodExists($class, $method)) {
    // Method exists, do something
} else {
    // Method does not exist
}