Horray; Just as a follow up. It dawned on me that I could pass $_code as an argument to the recursive method as an alternative. Then it can call the argument variable as a function without having to call require in every recursion. I have now gotten past the Function name must be a string error. Maybe this will help someone with a similar issue. Jeff K > On Dec 4, 2018, at 3:30 AM, Enno Woortmann <enno.woortmann@xxxxxx> wrote: > > Hi Jeff, > > try > > (self::$_proc)(/*args*/); > > This will work if you are using PHP >= 7.0 > > Additional ways are described in: https://stackoverflow.com/questions/7067536/how-to-call-a-closure-that-is-a-class-variable > > regards, > > Enno > > Am 04.12.2018 um 02:44 schrieb Jeffry Killen: >>> On Dec 3, 2018, at 5:19 PM, Aziz Saleh <azizsaleh@xxxxxxxxx> wrote: >>> >>> var_dump(self::$_proc) before the function call, what do you get? >> >> object(Closure)#2 (2) { >> ["this"]=> >> object(_FS_RECURSOR)#1 (0) { >> } >> ["parameter"]=> >> array(4) { >> ["$_src"]=> >> string(10) "<required>" >> ["$_type"]=> >> string(10) "<required>" >> ["$_list"]=> >> string(10) "<required>" >> ["$_localArgs"]=> >> string(10) "<required>" >> } >> } >> >>> On Mon, Dec 3, 2018 at 8:01 PM Jeffry Killen <jekillen@xxxxxxxxxxx> wrote: >>> Hello again; >>> >>> I have solved this before. But it has been too long ago. >>> I don't remember what the fix was; >>> >>> file with function definition: >>> >>> $_funct = function(/*args*/){ // code} >>> >>> class def: >>> >>> private static $_proc = ''; >>> >>> __construct() requires file with $_funct definition >>> and assigns it to self::$_proc >>> >>> require(/*file with funct definition*/) >>> >>> self::$_proc = $_funct; >>> >>> later in $_POST processing the function is called: >>> >>> self::$_proc(/*args*/) // -> Function name must be a string >>> >>> There are actually more steps to this, but it would require >>> a lot of code reproduced here for it to make sense. This abstraction >>> is about as simple as I can represent it. >>> >>> In the processing the self::$_proc function is being called under >>> different circumstances. The error occurs on the first time it is >>> called. So It appears that it is not a case where one particular >>> line has a problem and the others don't. >>> >>> This has been working elsewhere in testing in the same project. >>> >>> I google the error and didn't get listings for the same type of issue. >>> >>> Thanks for time and attention; >>> Jeff K >>