Autor Zpráva
Micruss
Profil
Zdravím

mám 2 modely:
AccountModel (pracuje s databází a předává informace o uživateli z db)
JobModel (tento model kontroluje a přidává práci)

a já bych potřeboval předat JobModelu právě ty info z db od AccModel

v presenteru při startUp() homepagepresenter kontroluji přihlášení a pokud projde tak vytvořím instanci třídy AccountModel, která mi předá infromace z db, akorát je problém, když chci volat metodu checkJob() z JobModel tak potřebuju ty informace o uživateli, a nevím jak je tam předat napadlo mě do konstrukteru volat a nebo zdědit.

vypadá to:

public function startUp() {
parent::startUp();

$user = $this->getUser();
$user->setExpiration('+ 30 minutes', TRUE);
if(!$user->isLoggedIn()) { 
$this->flashMessage('Nejste přihášen', 'danger');
$this->redirect(':Front:Base:default');
  }
  $this->acc = new \AccountModel($this->user->id);
  $this->template->acc = $this->acc;
}

ještě mi tam chybí try {} catch() {} což kontroluje práci jestli neskončila nebo ještě probíhá... ale je mi blbý dávat new JobModel($this->acc); atd... nějaký elegantnější řešení existuje? Možná nad tím až tak mco přemejšlím, že to půjde úplně jednoduše...

// vyřešil jsem to použití INJECT metody :-) ...
[/pre]
Bertram
Profil
Micruss:
Na 11-tém řádku předáváte do šablony acc.
Neposloužil by stejně i objekt identity a jeho třetí parametr?
Přistoupíte k němu z objektu Uživatele.


vyřešil jsem to tak, že jsem dal do konstukteru v jobmodelu $this->acc = dibi.... atd...
Spíše bych vám doporučil použít dependency injection.
Micruss
Profil
Bertram:
jasný to taky dělám...

jinak DI mě taky napadlo ;-)

ale dík za odpověď

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0