私はPHP OOPを初めて使いました。「警告:空の値からデフォルトオブジェクトを作成する」は、しかし、私は次のコードでエラーが発生する理由を理解するのに苦労しています。PHPが値をネストされたオブジェクトに渡す警告:空の値からデフォルトオブジェクトを作成する
助けてください!あなたがオブジェクトのインスタンスを作成するとき
class A { public $varA; }
class B {
public $varB;
function __construct(){ $varB = new A; }
}
$obj = new B;
$obj->varB->varA = "Whatever";
どうなるの 'コンストラクタをA'?また、クラスIIRCの外部から保護されたプロパティを設定することはできません。 – miken32
こんにちはマイク。クラスAのコンストラクタはokを実行しますが、$ varA = "test"を使用します。そのコンストラクタでは無意味ですが、それは忘れ去られます。 \t 私が$ this-> varA = "test"を使用すると、あなたが言ったように、私はその保護されたプロパティを 'public'に変更することを条件に、うまく動作します。 $ varAはコンストラクタ関数にしかスコープされていないことがわかっているはずですが、時には見た目の木が見えないことがあります。助けてくれてありがとう。 – Robbie
ええ、私は見つからなかった '$ this' – miken32