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: 1public function startUp() { 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 |
#2 · Zasláno: 23. 11. 2013, 16:52:38
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 |
#3 · Zasláno: 23. 11. 2013, 18:52:10
Bertram:
jasný to taky dělám... jinak DI mě taky napadlo ;-) ale dík za odpověď |
||
Časová prodleva: 11 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0