クラスレイアウト全体を再構築した後でも、複数のクラスインスタンスを使用するのに問題があります。
class User {
public $variable;
public function getUser() {
$this->variable = 'It works!';
return 'bob';
}
}
class Base {}
class One extends Base {
public function test() {
print_r($User->variable); // Want it to print 'It works!'
}
}
$User = new User();
$username = $User->getUser();
if($username === 'bob') {
$One = new One();
$One->test(); // prints "Notice: Undefined property: One::$variable
}
上記のコードの機能:クラスUserはユーザー名を取得します。ユーザー名がbob、の場合、オブジェクトが作成oneされ、クラスから変数が出力されますUser。私の実際のコードでUserは、非常に複雑で、たくさんのものを渡すこと__constructは私が探しているものではありません。
解決策(この質問にそのようにタイトルを付けた理由User)は、クラス内に新しいクラスを作成することBaseだと思いますが、まったく新しいオブジェクトを作成し、取得するためだけにすべてを再開始する必要があることに頭を悩ませることはできません。ユーザー名。