Mikuláš je tady! Získej 90 % extra kreditů ZDARMA s promo kódem CERTIK90 při nákupu od 1199 kreditů. Pouze do neděle 7. 12. 2025! Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 4 - Dokončení kalkulačky v Nette

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Marty
Jindřich Máca:29.10.2018 22:33

Právě a já jsem to tak prostě nechal.

A pokud tam nějaký hlubší záměr je, tak se přiznám, že o něm nevím... :-D

Avatar
Martin Konečný (pavelco1998):29.10.2018 22:53

Marty Jindřich Máca Řekl bych, že jednotné číslo označuje název vrstvy, ne ve smyslu "kolekce tříd pod touto složkou". Tedy když v MVP je vrstva Presenter, bude složka pojmenována Presenter. Kdy je tam vrstva Model, bude složka pojmenovaná Model. A v ní teprve v množném čísle oddělené složkami "kolekce" tříd, např. Managers, Repositories, Listeners, Exceptions atd.

Odpovědět
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Jindřich Máca:29.10.2018 23:28

No to chápu, ale právě tady řešíme, že v šabloně to takhle není a to je na tom to divné. :-S Když se podíváš přímo na čistý sandbox, tak uvidíš, že je tam vrstva pro Presenter a složka se jmenuje presenters/ a potom je tam vrstva Model, přičemž složka se jmenuje model/. :D

Avatar
Odpovídá na Jindřich Máca
Martin Konečný (pavelco1998):29.10.2018 23:35

Těžko říct, no :D Je pravda, že také používám název "Presenters", ale pak mám název "Model". Mám to ale právě kvůli tomu, že složku "Model" označuji spíše jako celou vrstvu, ve které mám určité "typy" modelových tříd (Facades, Listeners atd.), ve složce Presenters mám jen seznam jednotlivých presenterů. Tedy abych nepsal Presenter/Pre­senters/UserPre­senter, tak to píšu rovnou pod jeden název. U modelových tříd pak mám dělení např. Model/Facades/Ar­ticleSearcher, Model/Entities/Ar­ticle :)

Editováno
Odpovědět
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Jaroslav Patrný:22.11.2018 23:18

Postupoval jsem podle textu, nemám tudíž
- App\Forms\Sig­nInFormFactory
- App\Forms\Sig­nUpFormFactory
v configu a hlásilo mi to tedy výjimku:

Nette\DI\Servi­ceCreationExcep­tion
Service 'application.4' (type of App\Presenter­s\SignPresenter): Service of type App\Forms\Sig­nInFormFactory needed by $signInFactory in App\Presenter­s\SignPresenter::__con­struct() not found. Did you register it in configuration file?

Proto jsem ve třídě SignPresenter jsem zakomentoval konstruktor

public function __construct(Forms\SignInFormFactory $signInFactory, Forms\SignUpFormFactory $signUpFactory)

Kalkulačka nyní už chodí.

Avatar
Erik Dobeš
Člen
Avatar
Erik Dobeš:30.6.2019 12:12

Zdravím, tutoriál se mně velmi líbí, ale výsledek má 1 chybu, která jej podle mě celý devalvuje. Když člověk po vypočtení výrazu obnoví stránku, tak se objeví známá hláška o tom, jestli chce doopravdu stránku obnovit, jelikož se znovu odešlou formuláře. Chybu lze spravit takhle:

public function renderDefault($flag = true, $result = 0)
{
    if($flag)
        $this->template->result = $this->result;
    else
        $this->template->result = $result;
}

public function calculatorFormSucceeded($form, $values)
{
    // Necháme si vypočítat výsledek podle zvolené operace a zadaných hodnot.
    $this->result = $this->calculatorManager->calculate($values->operation, $values->x, $values->y);
    $this->redirect('default', false, $this->result);
}
Avatar
Ondřej Vaňkát:19.10.2019 23:49

Zdravím, chtěl bych se zeptat, u Presenterů se SmartObject nepoužívá ? Koukám že je pouze v ErrorPresenteru a jinak pouze u Modelů.
Díky

Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Ondřej Vaňkát
Jindřich Máca:20.10.2019 13:31

Ahoj, SmartObject se používá tam, kde se nedědí z žádné jiné části Nette, protože každá součást Nette jako např. třída Presenter už ho používá a tudíž ho přenáší i na své potomky. ;-)

Avatar
Odpovídá na Jindřich Máca
Ondřej Vaňkát:20.10.2019 15:47

jo takhle, chápu, díky

Avatar
Michal Běhal:10.6.2020 21:22

Stáhl jsem si projekt nette-calculator ale při spuštění aplikace v prohlížeči to hodí chybu: "Cannot use "parent" when current class scope has no parent" Mám nejnovější verzy XAMPP s PHP 7.4.6 a kostru jsem si vytvořil přes composer. Nevíte někdo proč to nejde spustit? Díky.

Editováno
Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 67.