あなたが書いたように、いいえ。あなたはJavascriptアプリケーションと同じように何かを構築しようとしているように見えます。しかし、Rizier123のように、このようなことをすることができます。
class Foo {
public function getBar(){
return new Bar();
}
}
class Bar {
public function someFunction() {
}
}
$foo = new Foo();
$foo->getBar()->someFunction();
私は、継承がより良いルートになるような方法でネストしたいと思っている理由は完全にはわかりませんが、
class Foo extends Bar {
}
class Bar {
public function someFunction() {
}
}
$foo = new Foo();
$foo->someFunction();
しかし、私は一貫性のある魔法の中で特定のコンストラクタパラメータを渡す方法として前者を使うことができると思います。
class Foo {
public function getRainbow(){
return new Bar('rainbow');
}
}
class Bar {
private $type;
public function __construct($type)
{
$this->type = $type;
}
public function someFunction() {
switch($this->type){
case 'rainbow':
echo 'All the way across the sky.';
break;
default:
echo 'Boring.';
break;
}
}
}
$foo = new Foo();
$foo->getRainbow()->someFunction();
流暢なインターフェイスで読み上げてください。 – Rizier123