В двух словах: как получить доступ к методам класса, который создается методом другого класса?
Есть фрагмент кода, на который я сейчас смотрю, который выполняет следующее (кстати, изменение кода - это не вариант, кстати. Это не мое ... Я просто расшифровал его):
В классе есть метод, который создает экземпляр другого класса. Это выглядит примерно так:
// this file is named fooClassHere.php
class Foo{
public $meh;
function bar(){
$something = new Baz;
$this->meh = $something->getStuff();
}
}
Я пытаюсь понять, как получить доступ к методам этого экземпляра класса Baz. Другая страница содержит что-то вроде следующего:
include 'bazClassHere.php';
include 'fooClassHere.php';
$a = new Foo;
$a->bar();
Так не должны ли теперь все Baz быть доступны каким-либо образом (и не только getStuff (), который я назначил для $ this-> meh)? Включены классы Foo и Baz, код создает экземпляр Foo, а затем вызывает метод Foo bar (), который, в свою очередь, создает экземпляр класса Baz. Очевидно, что в следующем примере будут отображаться данные, возвращаемые методом getStuff () Baz:
var_dump($a->meh);
Но я бы хотел получить доступ к всем доступных методов Baz, не проходя промежуточный этап их ручного назначения, как я делал внутри метода бара Foo:
$this->meh = $something->getStuff()
Может быть, что-то вроде (но, конечно, это не работает):
$a = new Foo;<br>
$a->bar(); //instantiates Baz as $something
$a->something->fromBaz(); //$something is an instance of Baz, yes? No?
Надеюсь, это имеет смысл, и я не путал проблему с моими заметками. Ack! > _ <</p>