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: Machr na PHP - Anketa

Aktivity
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:5.8.2013 10:55

Zdravím, tento týden si v minisoutěži o placku Machr na PHP (s majestátním slonem) a samolepky zkusíme naprogramovat anketu. Jak vypadá anketa asi všichni tušíte, takže není třeba vysvětlovat a ukázka výstupu je přiložena v obrázcích. Snažte se o objektovou aplikaci a k ukládání výsledků použijte MySQL databázi. Autor nejlepší ankety získává placku Machr na PHP a samolepky. Čas si dejme do neděle 11.8. do 15:00.

Odpovědět
5.8.2013 10:55
New kid back on the block with a R.I.P
Avatar
Neaktivní uživatel:5.8.2013 18:35

Abych šel hledat heslo od účtu na blueboard :D

Nahoru Odpovědět
5.8.2013 18:35
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:6.8.2013 19:57

tak, já tu svoji poslal :)
a není z blueboardu :P

Nahoru Odpovědět
6.8.2013 19:57
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:6.8.2013 20:03

ani ty už ji zde nezveřejníš?

 
Nahoru Odpovědět
6.8.2013 20:03
Avatar
Nahoru Odpovědět
6.8.2013 20:15
Neaktivní uživatelský účet
Avatar
Martin Konečný (pavelco1998):7.8.2013 12:29

Ahoj,

něco jsem zkusil za cca 2 hodiny sepsat. Nejsem si ale jistý, zda je správný návrh tříd Poll a PollContainer.

Třídy:

Database.php
http://www.itnetwork.cz/dev-lighter/167

PollContainer.php
http://www.itnetwork.cz/dev-lighter/168

Poll.php
http://www.itnetwork.cz/dev-lighter/169

Stránky:
index.php
http://www.itnetwork.cz/dev-lighter/163

overview.php
http://www.itnetwork.cz/dev-lighter/165

create.php
http://www.itnetwork.cz/dev-lighter/164

vote.php
http://www.itnetwork.cz/dev-lighter/166

Ukázka:
http://konecny.php5.cz/…k_poll/poll/

Poznámky:

  1. Pokud třídě Poll předáme parametr (ID ankety), automaticky vyhledá její informace a uloží je. Zároveň uloží, zda anketa s daným ID existuje.
  2. Pomocí magické metody __get() se hodnoty získávají z pole Poll::$data.
  3. Metoda Poll::getForm() vrací HTML formuláře včetně JS kódu na zpracování. Programátor může parametrem určit, aby se JS nevypsalo (v případě, že by si chtěl napsat vlastní script). Také může určit hodnotu atributu action pro formulář.
  4. Metoda Poll::getAnswer­Percentually() je závislá na metodě Poll::getAnswer­sPercentually(), což zřejmě není nejvhodnější řešení.
  5. Každá odpověď má svůj barvený pruh. Nedoporučuji nastavovat pruh na #ffffff. :-)
  6. Doufám, že bude větší účast než na poslední soutěži.
Nahoru Odpovědět
7.8.2013 12:29
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:11.8.2013 15:13

Dorazily ke mne výsledky od Martin Konečný (pavelco1998) a Neaktivní uživatel, takže prázdninová účast pokračuje :)

pavelco: Hezký objektový kód, máš tam dokonce i vlastní výjimky a PHPDoc. Vylepšit by šlo už asi jen oddělení logiky od HTML výstupu, zkrátka placka je tvoje :) Adresu prosím pošli x do zpráv.

Dan: Chválím objektový kód, nicméně je tam poměrně dost nesrovnalostí. Měl bys používat PDO, ovladač MySQL je zastaralý a bude z PHP odebrán. Když už ho používáš, je třeba ošetřovat funkcí mysql_real_es­cape_string přímo v dotazech, nestačí ošetřit jen pár proměnných co přišly z getu. Metody se v PHP píší camelCasem, třída Funkce je trochu zavádějící název :)

Nahoru Odpovědět
11.8.2013 15:13
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Neaktivní uživatel:11.8.2013 15:32

si už hodně dlouho říkám, že bych se na PDO měl podívat, vždycky kouknu na kousíček tutoriálu a utíkám pryč protože se mi to nechce učit :D

Nahoru Odpovědět
11.8.2013 15:32
Neaktivní uživatelský účet
Avatar
Michal Žůrek - misaz:11.8.2013 17:05

Ahoj, tak já jsem se chtěl taky zúčastnit. Jenže jsme v pátek byli pryč a jen náhodou jsme měli přespat do soboty, ona náhoda se však zvrtla natolik že jsem se teprve teď vrátil domů... Nicméně mě tento machr natolik zaujal že ho skusím dodělat do středy (pak zase jedu pryč a tentokrát plánovaně do neděle). Ankety udělám jak v PHP tak i javě protože se chci naučit v javě pracovat s databázemi.

 
Nahoru Odpovědět
11.8.2013 17:05
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:11.8.2013 17:06

PDO je mnohem pohodlnější než původní ovladač MySQL a umí toho víc než většina ORM frameworků.

Nahoru Odpovědět
11.8.2013 17:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 10.