Volání konstruktoru předka
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kejlicz
- Člen | 201
Z vlákna, které už bylo smazáno jsem řešil, jak správně volat v konstruktoru presenteru konstruktor předka.
V minulém vlákně mi bylo napsáno, že to má být parrent::__construct($this->itemModel, .....), tak zkouším tohle.
Můžeš mi PROSÍM někdo konkrétně říct, jak to má být, protože tohle mi nefunguje a BasePresenter zase dostává místo ItemModel jen null.
BasePresenter
abstract class BasePresenter extends Nette\Application\UI\Presenter
{
protected $itemModel;
protected $categoryModel;
public function __construct(\Model\ItemModel $itemModel, \Model\CategoryModel $categoryModel)
{
$this->itemModel = $itemModel;
$this->categoryModel = $categoryModel;
}
..........
RegistrationPresenter
class RegistrationPresenter extends BasePresenter
{
public function __construct()
{
parent::__construct($this->itemModel, $this->categoryModel);
}
Díky MOC.
- Etch
- Člen | 403
Nebylo smazáno jen přesunuto do koše, protože se nejedná o věc související s Nette, ale o elementární neznalost PHP.
„V minulém vlákně mi bylo napsáno, že to má být parrent::__construct($this->itemModel, .....), tak zkouším tohle.“
To bylo napsáno obecně, aby bylo vidět, že musíš předávat argumenty.
class RegistrationPresenter extends BasePresenter{
public function __construct(\Model\ItemModel $itemModel, \Model\CategoryModel $categoryModel){
parent::__construct($itemModel, $categoryModel);
}
}
Editoval Etch (26. 2. 2014 14:59)