0

WSDL データを管理するクラスから結果セットを取得します。

私はクラスにコードを書きませんでした。私はそれを使用するだけです。

サービスで ID を作成する関数を呼び出し、後で同じスクリプトでその ID を操作したいと考えています。

私の結果セットは次のようになります。

Array
(
    [0] => SaveResult Object
        (
            [id:protected] => newgeneratedID
            [success:protected] => 1
        )
)

そこで、必要な ID を取得するために $response[0]->id を試しました。今、致命的なエラーが発生しました。

PHP Fatal error:  Cannot access protected property SaveResult::$id

私はそれが初心者の質問であることを知っていますが、オブジェクトをprint_rできるのに内部の値を取得できない理由がわかりません。

4

3 に答える 3

0

ReflectionProperty インターフェイスを使用して、保護されたプロパティを読み取ることができます。

phptoolcase ライブラリHandyManコンポーネントには、アクセスできないオブジェクトのプロパティを読み取るための便利なメソッドがあります。

$value = PtcHandyMan::getProperty( $your_object , 'propertyName');

シングルトン クラスの静的プロパティ:

$value = PtcHandyMan::getProperty( 'myCLassName' , 'propertyName');

非常にシンプルで便利ですが、保護された/プライベートなプロパティはその範囲外で使用されるべきではないため、いくつかの状況でのみ推奨されます。

HandyManクラスはhttp://phptoolcase.com/guides/ptc-hm-guide.htmlにあります。

于 2014-11-08T17:17:48.687 に答える
0

SaveResult次のような、データにアクセスできるようにするクラスで呼び出すことができるメソッドが必要です。

$response[0]->getId();

クラスのドキュメント/ソース コードを参照してください。

于 2013-10-25T12:31:56.400 に答える