Brak możliwości odwołania się z klasy A do B

0

Cześć z racji że jestem początkujący jeśli chodzi o PHP, mam pytanie dlaczego w klasie B w akcji index nie mogę odwołać się do klasy A która korzysta z dodatku Test ?

class A extends Base {
public $pack = array('Test')

public function index() {
$this->Test->getsomething();
}
}

class B extends Base {
public function index() {
$new = new A();
$new->index();
}
}
0

Po pierwsze masz zmienną $pack, a odwołujesz się przez $this->Pack, powinieneś mieć tą samą wielkość liter. Po drugie, wywołujesz metodę na tablicy $pack, a tablica nie jest obiektem.

I skoro dziedzicz po A, to nie musisz w klasie B tworzyć nowego obiektu klasy A. Możesz odwołać się przez parent::index(). Dodatkowo, jeśli w klasie B metoda index robi to samo co w klasie A, to nie ma sensu jej nadpisywać.

0

dzięki za wskazówki, zmieniłem trochę zawartość kodu dalej nie rozumiem dlaczego nie mogę otrzymać zawartości return, w klasie B

class A extends Base {
public $pack = array('Test')

public function index() {
$variables = $this->Test->getsomething();
return $variables;

}
}

class B extends Base {
public function index() {
$new = new A();
echo A::index
}
}
0
class A extends Base {
    public $pack = array('Test')

    public function index() {
        $variables = $this->Test->getsomething(); // Co to za zmienna Test? Czy to coś zwraca?
        return $variables;
    }
}

class B extends Base {
    public function index() {
        $new = new A();
        echo A::index // Gdzie masz średnik?
    }
}
0

akcja? zawartość return? Przetłumacz to na polski (znaczy na poprawne oficjalne nazewnictwo)

1 użytkowników online, w tym zalogowanych: 0, gości: 1