さて、コードを最も効率的に構造化する方法を見つけようとしています。私は最近、すべてのメソッドを含む 1 つの巨大なクラス ファイルから、1 つの基底クラスに結合されたより小さなファイルに切り替えました。これは私が望んでいるものですが、正しく動作させることができず、構造について助けが必要です。
基本的に私はこれを行う必要があります:
- 他のクラスの単なる「ツール」である関数 (コンバーター関数など) がいくつかあります。これらの関数は、すべての子クラスからアクセスできる必要があります。
- 場合によっては、「子クラス 1」が「子クラス 2」の関数を使用する必要があります。
- 子クラスは、別の子クラスが参照できる変数を設定できる必要があります。
これらの要件をどのように開始できるか教えてください。コード例は大歓迎です!
おそらく、いくつかの疑似コードが役立つでしょう - しかし、私がオフの場合は、何がよりうまく機能するか教えてください!
class main {
private $test;
public function __construct() {
//do some stuff
}
public function getTest() {
echo('public call: '.$this->test);
}
private function randomFunc(){
echo('hello');
}
}
class child1 extends main {
public function __construct() {
parent::$test = 'child1 here';
}
}
class child2 extends main {
public function __construct() {
echo('private call: '.parent::$test); //i want this to say "private call: child1 here"
parent::randomFunc();
}
}
$base = new main;
new child1;
new child2;
$base->getTest();
だから私はその結果が欲しい:
private call: child1 here
hello
public call: child1 here
これまでのところ、私が試したことは機能しません...助けてください! ありがとうございました。