Search code examples
phpoopfunctionscopenusoap

PHP: call a function from another function (out of scope?)


I'm having a problem creating webservices through nuSOAP (although i believe my problem has nothing to do with it)

What i'm trying to do:

function loadActiveItems() {
    $list = Item::loadActive();
    $ret = array();
    foreach ($list as $val){
        //two tests to check if i really have an object and if the toDTO method is callable
        echo var_dump($val);
        echo is_callable(array($val, 'toDTO'));
        array_push($ret, $val->toDTO());
    }
    unset($val);
    return $ret;
}

I'm getting the following error:

Call to a member function toDTO() on a non-object

and both var_dump($val) and is_callable are returning the expected (the object and true, respectively) from what i've been seeing online, it appears i have a out of scope problem... but for some reason i don't seem to get my head around it :P

Thanks in advance

EDIT: well just check that apparently i don't understand is_callable either because i always get 1 as the result... EDIT2: i'm using php-activerecord if that helps in any way


Solution

  • Okay so i figured out the problem... thanks for all the help! I was calling toDTO of another object inside toDTO... problem was that object could be a null! So a simple if(object==null) solved the problem!

    Thanks again!