CodeIgniter Forums

Full Version: Call to undefined (helper) function
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

I have a helper function which is loaded in BaseController.php in the normal way with protected $helpers = ['myhelper,].

It is used to add some text details to a view and has been faithfully working without a problem until recently…

Now, when I have any exception thrown, for example:  CodeIgniter\Images\Exceptions\ImageException: The supplied file is not a supported image type (though, any exception/error condition appears to cause the same effect), I receive the following (code terminating) response on any subsequent interaction with the server:  Error: Call to undefined function myhelperFunction() (which is the previously well-behaved helper function inside the view page).

This error remains until I force a cache-refreshing re-load of the page.

I would try to invoke the call with a fully qualified path or namespace, but because it is a helper function, it isn’t namespaced and I’m not sure how to call it using a path, and then the .php file’s internal function name?

It appears as though the framework loses the current BaseController’s setting/environmentsettings?!?

Is this normal?  Why is it happening?  What am I doing wrong?

Did you change any of your code? Helpers belong to the App namespace.

I would double check your coding to see if something is causing this to happen.
Thanks for the suggestions InsiteFX, and the info that helpers are in the App namespace (which seems sensible, but I'd not thought of).

I have been messing around with some (seemingly unrelated) image-processing stuff, and a bit of CSRF experimentation (which may be more likely the cause (?))...

As an initial experiment, I did try to add a path to my view insertion: <?=\App\myhelperFunction();?>

This results in: Error: Call to undefined function App\myhelperFunction()