私は、オブジェクトの種類を本当に気にせずに、オブジェクトで使用することを意図したコードに取り組んできました。書かれているメソッドがどのような型のオブジェクトを期待していても何らかの難しさに遭遇したというヒントを打ちたいオブジェクトのタイプヒント
私は内のオブジェクトを渡すことを試みたとき、私はfunction myFunc (object $obj)
とfunction myFunc (stdClass $obj)
が、これら発生したエラーの両方を試してみました:
Catchable fatal error: Argument 1 passed to MyClass::MyFunc() must be an instance of object, instance of ObjectActualClass given
を同じは私が何をしないのですstdClass
同様
で起こったのか?私は、明示的に他のクラスから継承していないすべてのクラスがstdClass
から継承したと考えました。つまり、PHPのすべてのクラスの基本クラスはstdClass
です。これは当てはまりませんか?
が重複する可能性でこれを確認することができます[PHPタイプヒンティング:?アレイのサポート、オブジェクトではありません](http://stackoverflow.com/questions/1547696/php-type-hinting -array-supported-object-not) – Jon
完全な解決策の私の答えを参照してください –