NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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
Renko Frick
Člen
Avatar
Renko Frick:25.9.2017 13:05

kua :-/ani mne to vobec nejde. skopiroval som si kalkulacku, spustil a:

Nette\DI\Servi­ceCreationExcep­tion

Method App\RouterFac­tory::createRou­ter() used in service 'routing.router' is not callable

 
Odpovědět
25.9.2017 13:05
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Renko Frick
Jindřich Máca:25.9.2017 20:33

Ahoj, tohle bývá dost často kvůli cache, zkoušel jsi ji celou smazat? :)

 
Odpovědět
25.9.2017 20:33
Avatar
Renko Frick
Člen
Avatar
Odpovídá na Jindřich Máca
Renko Frick:2.10.2017 12:45

prisiel som na to, com to bolo :-D
v tutorialy bolo spomenuty (alebo je pridany) presenter CalculatorPre­senter. ja som vyrobil novy a nechal som v adresary ten povodny - HomePresenter. ten to robil ;)
ked som ho vymazal, je to OK ;)
diky za ochotu

Editováno 2.10.2017 12:46
 
Odpovědět
2.10.2017 12:45
Avatar
Jiří Šír
Člen
Avatar
Jiří Šír:31.1.2018 10:57

Zdravím, rád bych se v PHP trochu pohnul směrem kupředu, proto jsem se začal zabývat Nette.

Jedu pěkně postupně, ale při stažení této kalkulačky ovšem dostávám chybové hlášení:

Fatal error: Cannot use 'Object' as class name as it is reserved in C:\xampp\htdoc­s\calculator-nette\vendor\net­te\utils\src\U­tils\Object.php on line 54

Poradí, prosím, někdo.
Předem díky ;-)

Editováno 31.1.2018 10:58
 
Odpovědět
31.1.2018 10:57
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Jiří Šír
Jindřich Máca:31.1.2018 11:52

Ahoj a jakou používáš verzi PHP? Tento projekt je psaný ještě ve starší verzi Nette 2.3, která není kompatibilní s PHP verzí 7 a vyšší.

Pokud je toto Tvůj problém, řešením je např. aktualizovat verzi Nette v projektu na 2.4, což lze poměrně snadno provést pomocí nástroje Composer.

 
Odpovědět
31.1.2018 11:52
Avatar
Jiří Šír
Člen
Avatar
Jiří Šír:31.1.2018 15:16

Díky za rychlou reakci.
Mám právě PHP ve verzi 7.2.0. Provedl jsem tedy update v Composeru, ale bohužel se shodným výsledkem.
Obsah composer.json přikládám v printscreenu.
Díky za prověření...

 
Odpovědět
31.1.2018 15:16
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Jiří Šír
Jindřich Máca:31.1.2018 21:59

Ta chyba se obecně vztahuje na celé Nette, všechny projekty i všechna rozšíření a spočívá v tom, že od verze PHP 7.2 se nemůže třída jmenovat Object, přičemž Nette tuto třídu do verze 2.3 mělo a docela hojně používalo. Je také použita i v tomto projektu a tudíž je nutné její použití všude předělat a to na trait SmartObject. Je to i oficiálně reportované viz. https://github.com/…s/issues/146

Takže buď tedy všude v projektu předěláš použití třídy Object na použití trait SmartObject nebo zkrátka musíš downgradovat verzi PHP. :-`

 
Odpovědět
31.1.2018 21:59
Avatar
Jiří Šír
Člen
Avatar
Odpovídá na Jindřich Máca
Jiří Šír:1.2.2018 11:41

Díky moc za odkaz.
Po použití SmartObject je projekt funkční.
Ještě jednou díky za rady a ať se daří ;-)

 
Odpovědět
1.2.2018 11:41
Avatar
Libor
Člen
Avatar
Libor:19.2.2018 12:15

Ahoj
Potýkám se s podobným problémem kolem SmartObject.
Mám PHP 7.2.1. Přejmenoval jsem tedy v souboru CalculatorMana­ger.php "Object" na "SmartObject". Předpokládám že v tomto souboru by to mělo stačit. Nette mám nejnovější verzi 2.4.
Bohužel mi to stále hlásí chybu "Class App\Model\Cal­culatorManager cannot extend from trait Nette\SmartObject" na posledním řádku, u koncové závorky třídy }.
Už jsem zkoušel vše. poradíte co dělám špatně?
Díky Libor

 
Odpovědět
19.2.2018 12:15
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Libor
Jindřich Máca:19.2.2018 12:27

Ahoj, vždyť jsem to psal, SmartObject není na rozdíl od Object třída, nýbrž PHP trait, takže se k tomu nemůžeš chovat stejně! Např. z trait nelze vůbec dědit, což Ti přesně píše ta chyba. :D

Takže doporučuji nejdříve dostudovat samotný jazyk PHP než jen tak náhodně experimentovat. Viz. http://php.net/…5.traits.php

 
Odpovědět
19.2.2018 12:27
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.