NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - 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
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

 
Odpovědět
29.10.2018 22:33
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
29.10.2018 22:53
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

 
Odpovědět
29.10.2018 23:28
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 29.10.2018 23:36
Odpovědět
29.10.2018 23:35
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í.

 
Odpovědět
22.11.2018 23:18
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);
}
 
Odpovědět
30.6.2019 12:12
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

 
Odpovědět
19.10.2019 23:49
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. ;-)

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

jo takhle, chápu, díky

 
Odpovědět
20.10.2019 15:47
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 10.6.2020 21:24
 
Odpovědět
10.6.2020 21:22
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.