This is a short guide on how to check to see if a PHP function exists (i.e. if it has been defined or not).
I think it is fair to say that we have all seen this error at some stage or another:
Fatal error: Call to undefined function my_function_name()
In most cases, the error can be fixed by making sure that the function exists or that a typo in the name isn’t the cause. However, in some use cases, you may not know for sure if a given function exists. For example: On many PHP installations, the curl functions are not enabled by default. This means that attempting to use curl may result in:
Fatal error: Call to undefined function curl_init()
Now, you might say that the curl functions should be enabled. However, what if you are writing portable code and you want to be able use a fallback method if the curl functions are not enabled?
This is where the function function_exists comes to the rescue:
<?php //Check to see if the function curl_init is defined. if(function_exists('curl_init')){ //It is defined, so we can use it. } else{ //The function does not exist. //Use fallback. }
In the code above, we used function_exists to to check whether the function curl_init exists. If it exists, we assume that the curl extension is installed and that we can use the curl functions. However, if function_exists returns a false value, then we know that the function is not defined and that we need to use a fallback / alternative method.