Prepojenie presenteru a modelu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
slebo
Člen | 13
+
0
-

Dobrý deň,

začínam s nette a dostal som sa do bodu odkiaľ sa neviem pohnúť, pretože nijak neviem prepojiť presenter s modelom.

Nakoniec som vytvoril najtrivialnejšie prepojenie ale ja to vypisuje chybu a neviem to odstrániť.

AbcPresenter.php

class AbcPresenter extends BasePresenter
{
	public function renderDefault()
	{
    		$this->template->Abc = $this->AbcRepository->Abc();
	}
}

AbcRepository.php

class AbcRepository  extends Nette\Object
{
	public function abc()
	{
		return 'abc';
	}
}

Vopred ďakujem za radu.

xxxmisko
Člen | 140
+
0
-

nemusíš si tam ten model injectovať?

v config.neon máš ako zadefinovaný model?

u mňa som to robil nejako takto:

<?php
    private $model;

    public function inject(AbcRepository $model){
	$this->model = $model;
    }
?>

a potom ideš

<?php
$this->model->Abc();
?>

Editoval xxxmisko (4. 10. 2013 16:32)

slebo
Člen | 13
+
0
-

Keď som to tak dal, tak mi to vypisuje

No service of type AbcRepository found. Make sure the type hint in Method AbcPresenter::inject() is written correctly and service of this type is registered.

v configu to mam:

factories:
	AbcRepository: AbcRepository
Filip Procházka
Moderator | 4668
+
0
-

factories, ale services.

services:
    - AbcRepository
slebo
Člen | 13
+
0
-

Yees, diky ide to.