私は現在、YouTube などから oop を学んでおり、それを使用して最初のプロジェクトを開始しました。途中で答えられなかった質問は..
2つのクラスがあるとします
class a{
public function dosomething($var){
}
}
と
class b{
}
クラスbからdosomething関数にアクセスできますか? もしそうなら、誰かが私を正しい方向に向けることができます.
ありがとう
次の 2 つのオプションがあります。
a
、b
その上でメソッドを呼び出します。(お勧め)a
static にして、 のように呼び出しますa::method()
。(絶対にやってはいけない)最初の方法で問題を解決するには、b
クラスを少し変更する必要があります。
class b{
public function callMethodOfClassa(a $instanceOfa, $var) {
$instanceOfa->dosomething($var);
}
}
または:
class b {
private $property;
public function callMethodOfClassa($var) {
$this->property->dosomething($var);
}
public function __construct(a $instanceOfa) {
$this->property = $instanceOfa;
}
}
$property
2 番目の例では、渡されたインスタンスへの参照をここで呼び出されたフィールドに保持し、インスタンスのb
初期化時に渡されます。
$instanceOfa = new a();
$instanceOfb = new b($instanceOfa);
PHP を使用したオブジェクト指向プログラミングの理解を深めるには、マニュアルをお読みください。
そして、2番目のサンプルの最初のサンプル デモの約束されたデモ(名前の変更をよりよく理解するため)。