Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 4. diel - Dokončenie kalkulačky v Symfony

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
MArtin
Člen
Avatar
MArtin:23.5.2017 11:14

Debug tip: komu to hadze chybovu hlasku ohladne chybajuceho DefaultControllera, tak je potrebne zmazat cache - bud rucne - obsah adresara ./var/cache/ alebo slusne pouzitim konzoloveho prikazu bin/console cache:clear (prip. php bin/console cache:clear)

Editované
Avatar
MArtin
Člen
Avatar
MArtin:23.5.2017 12:29

Debug tip 2: pre tych co si kod prepisovali rucne podla clanku treba pridat do suboru CalculatorMana­ger.php na zaciatok:

use AppBundle\Entity\Operation;

...za namespace ...

Avatar
MArtin
Člen
Avatar
MArtin:23.5.2017 12:58

Debug tip 3: zmenit v subore .htaccess v adresari web:

- RewriteRule ^ %{ENV:BASE}/app.php [L]
+ RewriteRule ^ %{ENV:BASE}/app_dev.php [L]

...
- RedirectMatch 302 ^/$ /app.php/
+ RedirectMatch 302 ^/$ /app_dev.php/
Editované
Avatar
solta
Člen
Avatar
solta:25.5.2017 1:58

nechápu význam služeb, může mi někdo vysvětlit jaký je rozdíl mezi

$calculatorManager = $this->get('calculator_manager');

a

$calculatorManager = new CalculatorManager();
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovedá na solta
Jindřich Máca:25.5.2017 13:47

Ten hlavní rozdíl je asi v tom, že pomocí toho get() vždy získáš pomocí DI jednu a tu samou instanci, když to pomocí new si pokaždé vytváříš novou.

Další rozdíl je, že pokud by měl konstruktor té získávané třídy další parametry, tak s použitím toho get() je neřešíš a rovnou dostáváš instanci se vším všudy, když to při použití new musíš mít k dispozici všechny potřebné parametry pro vytvoření té instance a to může být často docela složité.

Takže závěrem nejde ani tak o použití na tom jednom místě, ale o způsob získávání napříč celou aplikací. ;)

Avatar
solta
Člen
Avatar
Odpovedá na Jindřich Máca
solta:25.5.2017 14:10

Díky za osvětlení. Bylo by fajn podobne veci rovnou vysvětlit v članku jistě nebudu sám kdo to potreboval vysvětlit:)

Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovedá na solta
Jindřich Máca:25.5.2017 15:53

V článku je to zmíněné jako princip DI (Dependenci Injection), což je obecný návrhový vzor, s jehož znalostí se tak trošku počítá. :-) To znamená, že pokud někdo zná DI, je mu jasné i to, co jsem napsal ve svém předchozím komentáři. ;-)

Avatar
saavikam
Člen
Avatar
saavikam:7.6.2017 9:57

Ahoj,
můžu se prosím zeptat na kod v src/AppBundle/En­tity/Operation­.php, např:

/**
* @var int První číslo operace.
* @Assert\NotBlan­k(message = "Tohle pole je povinné.")
* @Assert\Type(
* type="int",
* message="Hodnota {{ value }} není validní číslo."
* )
*/
protected $x = 0;

je to komentáři. Znamená to, že Symfony si tyto informace přečte z komentáře?

Děkuji
Andrea

Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovedá na saavikam
Jindřich Máca:7.6.2017 13:29

Ano, Symfony standardně dělá reflexi nad komentáři a využívá tzv. funkční anotace pro všemožné účely. :-)

Avatar
Daniel Gramblička:2.8.2018 14:50

Ahoj, pre tych ktori maju problem s typeErrorom - do Calculator.php treba pridat :

use App\Entity\Operation;
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 23.