Welcome Guest, Not a member yet? Register   Sign In
Call to undefined (helper) function
#1
Question 
(This post was last modified: 04-15-2020, 12:15 PM by Gary.)

Hello,

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?

Thanks.
Reply
#2

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.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply
#3

(This post was last modified: 04-15-2020, 12:26 PM by Gary.)

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()
Reply




Theme © iAndrew 2016 - Forum software by © MyBB