IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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: MVC kalkulačka

Aktivity
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:24.9.2013 11:35

Ahoj, určitě tu hodně z vás v PHPčku stále bastlí bez architektury a právě proto v pravidelné minisoutěži o placku na tento týden vytvoříme jednoduchou kalkulačku v PHP. Bude stačit, když sečte 2 čísla, které uživatel zadá do inputů a vypíše výsledek.

Tuto jednoduchou aplikaci však napište tak, abyste použili MVC (nebo MVP) architekturu a oddělili logiku od výstupu. Nesmíte použít hotový framework, alespoň uvidíte, že udělat si vlastní MVC je opravdu záležitost pár řádků kódu. Hodnotí se objektový návrh, co aplikace umí je už docela jedno. Možností máte spoustu, můžete se inspirovat mým řešením - http://www.itnetwork.cz/php/mvc, kde je i detailně popsáno jak MVC architektura funguje. Hezké URL adresy a další věci samozřejmě nemusíte řešit. Můžete samozřejmě vymyslet vlastní řešení, jen musí oddělovat logiku a výstup.

Všichni teď máte příležitost naučit se psát kvalitní webové aplikace, tak ji využijte :P Autor nejlepšího řešení si může vybrat mezi plackou Machr na PHP nebo Machr na OOP.

Deadline jako vždy v neděli 29.9. v 18:00.

Editováno 24.9.2013 11:37
Odpovědět
24.9.2013 11:35
New kid back on the block with a R.I.P
Avatar
Neaktivní uživatel:24.9.2013 11:38

Výborně. Že bych konečně zkusil machra? :D

Nahoru Odpovědět
24.9.2013 11:38
Neaktivní uživatelský účet
Avatar
hh
Člen
Avatar
hh:24.9.2013 15:16

Pokud jsem se o PHP doposud nezajímal, je možné tu aplikaci vytvořit, jestliže si jen přečtu těch jedenáct návodů tu a pochopím to? Nebo musím mít nějakou znalost PHP k tomu? :` (Neukamenujte mě, chtěl bych si to prostě jen zkusit :) )

Editováno 24.9.2013 15:19
Nahoru Odpovědět
24.9.2013 15:16
Dostane se ti toho, čeho se zasloužíš...
Avatar
Odpovídá na hh
Michal Žůrek - misaz:24.9.2013 15:25

přečti si základy, pak by ti to možná mohlo jít, ale doporučuji ještě oop.

 
Nahoru Odpovědět
24.9.2013 15:25
Avatar
Ondrca
Tvůrce
Avatar
Ondrca:24.9.2013 17:08

Musí být v PHP?

Nahoru Odpovědět
24.9.2013 17:08
Zase jsem o něco chytřejší
Avatar
David Hartinger
Vlastník
Avatar
Nahoru Odpovědět
24.9.2013 17:09
New kid back on the block with a R.I.P
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na David Hartinger
Ondrca:24.9.2013 17:11

Díky za odpověď.

Nahoru Odpovědět
24.9.2013 17:11
Zase jsem o něco chytřejší
Avatar
Patrik Valkovič:27.9.2013 22:44

Výborně, hned zítra se do toho pustím. Kam mám soubory uložit?

Nahoru Odpovědět
27.9.2013 22:44
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Patrik Valkovič:28.9.2013 17:05
http://sdrv.ms/16z6hJN

Tak mám hotovo, stačí to takhle?

Editováno 28.9.2013 17:06
Nahoru Odpovědět
28.9.2013 17:05
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Patrik Valkovič
David Hartinger:28.9.2013 17:49

Určitě, mohlo to být i kratší :)

Nahoru Odpovědět
28.9.2013 17:49
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Patrik Valkovič
Kit:28.9.2013 18:03

Bacha na ten BOM, který máš na začátku každého souboru. Může ti udělat pár nepříjemností, pokud budeš chtít poslat nějaké HTTP hlavičky, např. cookie.

Nahoru Odpovědět
28.9.2013 18:03
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Hartinger
Michael Olšavský:28.9.2013 22:19

Sice jsem si říkal, že si tenhle týden od machrů dám pauzu, ale nakonec jsem to nedodržel :-) Mám tedy dotaz. Jelikož se nemusíme starat o URL a neřeším tu ani žádné různé druhy kontrolerů (mám pouze jeden), můžu se vykašlat na Router? Nebo je to součást architektury?

 
Nahoru Odpovědět
28.9.2013 22:19
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michael Olšavský
Kit:28.9.2013 22:35

Router není součástí architektury MVC, dá se to udělat i bez něho.

Nahoru Odpovědět
28.9.2013 22:35
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Neaktivní uživatel:29.9.2013 17:45

Tak jo, taky se hlásím :)
http://projekty.danvitek.cz/…-kalkulacka/

Nahoru Odpovědět
29.9.2013 17:45
Neaktivní uživatelský účet
Avatar
Odpovídá na David Hartinger
Michael Olšavský:29.9.2013 21:00

Hodnotí se už?

 
Nahoru Odpovědět
29.9.2013 21:00
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:29.9.2013 21:20

Moc se omlouvám, dnes jsem se k tomu nedostal, řešil jsem něco ohledně ML. Vyhlásím výsledky výjimečně zítra dopoledne.

Nahoru Odpovědět
29.9.2013 21:20
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:30.9.2013 11:21

Tak jsem to prošel:

  1. brisingr002 (100 bodů) - Velmi pěkné, ani jsem nevěděl, že má PHP anonymní funkce. Jen nemusíš pole POST pro zkopírování procházet, v PHP není pole referenční. Chválím výjimky.
  2. patrik.valkovic (90 bodů) - Nějak jsem nepochopil funkci zobraz() v konkrétním kontroleru, ta se přeci dědí. Chválím volání metody z URL. Škoda, že validace nevyhazuje výjimky.
  3. DanVitek (70 bodů) - Skoro v cíli :) Zkus si jednotlivé komponenty rozdělit do složek a napsat k tomu autoloader. Třída by se měla jmenovat stejně jako soubor a hlavně podle toho, co dělá. Pocitej je název pro metodu, třída by se jmenovala třeba Pocitac.

Placku se slonem získává Michael Olšavský. Gratuluji a ostatním děkuji za účast :)

Editováno 30.9.2013 11:22
Nahoru Odpovědět
30.9.2013 11:21
New kid back on the block with a R.I.P
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 19 zpráv z 19.