クラスレイアウト全体を再構築した後でも、複数のクラスインスタンスを使用するのに問題があります。
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
だと思いますが、まったく新しいオブジェクトを作成し、取得するためだけにすべてを再開始する必要があることに頭を悩ませることはできません。ユーザー名。