0

nuSOAP を使用して Web サービスを作成する際に問題があります (ただし、私の問題はそれとは何の関係もないと思います)

私がやろうとしていること:

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;
}

次のエラーが表示されます。

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

var_dump($val)との両方is_callableが、オンラインで見たものから期待される (それぞれオブジェクトと true) を返しています。範囲外の問題があるようです...しかし、何らかの理由で頭が回らないようですそれ:P

前もって感謝します

編集:結果として常に1を取得するため、明らかにis_callableも理解していないことを確認してください... EDIT2:それが何らかの形で役立つ場合は、php-activerecordを使用しています

4

3 に答える 3

0

さて、私は問題を理解しました...すべての助けに感謝します!toDTO内の別のオブジェクトのtoDTOを呼び出していました...問題は、オブジェクトがnullになる可能性があることでした!したがって、単純なif(object == null)で問題が解決しました。

再度、感謝します!

于 2012-07-09T11:33:52.633 に答える
0

toDTO() may be undefined in your class Item.

Another reason may be that the method isn't public or as @Grep said` static.

于 2012-07-02T15:51:58.780 に答える