PHP (68) - Stavíme portál
Téma na více dílů - stavba portálu v PHP. A s příkladem funkčního webu.
19.11.2004 15:00 |
Petr Zajíc
| Články autora
| přečteno 58273×
Počínaje tímto dílem našeho seriálu zcela opustíme poněkud nudnou
šeď teorie PHP programování, a vrhneme se na praxi. V několika
následujících dílech totiž poslepujeme úplně nový web a projdeme přitom
všechny kroky, které byste měli v takové situaci mít na paměti.
Programování v PHP je dosti svázáno s dalšími technologiemi, takže
jeden větší příklad bude lepší než několik malých fragmentů kódu.
Je to samozřejmě dilema - čím kratší je příklad, tím spíše se můžete
soustředit na to, co opravdu řeší - ale čím je rozsáhlejší, tím spíše
pochopíte, jak spolu jednotlivé etapy práce a části kódu souvisejí.
Budeme tedy používat nejen PHP, ale HTML a MySQL (možná trochu i
styly). Navíc, budu se snažit představit vám jednotlivé kroky stavby
webu tak, jak v praxi opravdu probíhají. Tím by čtenář (zejména pokud s
webovou tvorbou začíná) měl získat alespoň základní představu o tom, co a kdy se má dělat.
Nebude to internetový obchod
Ne! Internetové obchody dělá jako příklad na PHP každý. Navíc mi
(pokud se implementuje přihlašování i nakupování) přijdou pro
začátečníka poněkud obtížné na pochopení. Namísto toho zkusíme
naprogramovat web o nějaké vymyšlené hudební skupině. Bude to
prinicpiálně velmi jednoduché a nebudou v tom žádné záludnosti (účetní
věci, DPH apod.), které by internetový obchod zcela jistě provázely.
Jak jen to půjde, nebudeme se zabývat žádnými záležitostmi, které
přímo nesouvisejí s PHP. Naše "stránky" tedy nebudou mít žádnou nebo
téměř žádnou grafiku, abychom se soustředili na to, co nás opravdu
zajímá. Velmi málo (pokud vůbec) se budeme zabývat věcmi jako je
klientské skriptování nebo DHTML.
Zadání
První věc, kterou byste si měli při návrhu webu ujasnit, je zadání.
My budeme tvořit web propagující smyšlenou hudební skupinu. Součástí
stránek bude následující funkcionalita:
- rozhraní pro zadávání koncertů (datum, čas, místo konání) s tím,
že se budou ukládat v databázi a zobrazovat na webu
- diskografie - názvy alb a seznam písní na těchto albech
- správu uživatelů (přihlašování, odhlašování, sekce "jen pro
členy"...)
- nějaký mechanismus pro zveřejňovaní textů písní, aby si je
později mohla kapela sama publikovat
- přihlášení členové si budou moci stahovat texty písní a dema
- budeme počítat s tím, že si náš virtuální zadavatel může ještě na
něco vzpomenout a pokusíme se na to myslet
Jednotlivé body budeme chtít samozřejmě rozpitvat. Taktická -
poznámka: pokud by se jednalo o komerční věc, tohle je nejlepší udělat
spolu se zákazníkem. Tak tedy, rozhraní pro zadávání koncertů by mělo
umět následující věci:
- Zadávat koncerty bude smět pouze uživatel s oprávněními
administrátora
- Z formuláře se zadá datum, čas a místo koncertu, to bude uloženo
v databázi
- Na webu se budou zobrazovat pouze koncerty v budoucnosti (ne ty,
co už byly)
- Aplikační logika by neměla povolit zadat více než jeden koncert
denně
Podsekce diskografie by měla mít následující funkce
- Názvy alb a písní by se měly zadat do databáze
- Půjdou zobrazit buď jen alba, nebo alba a písně
- Vyhledávání - podle názvu písně najít album nebo alba, na nichž
byla uvedena
- Jedna píseň bude moci být na více albech
Správa uživatelů by měla mít následující funkce:
- Uživatel se bude moci zaregistrovat pomocí přezdívky, e-mailu a
hesla
- Heslo by mělo mít minimálně 4 znaky
- Aplikační logika by měla povolit pouze jednoho uživatele na jeden
e-mail
- Aplikace by měla umět odeslat zapomenuté heslo (max. 1x denně),
změnit heslo a zrušit registraci
Zveřejňování textů písní by mělo mít následující vlastnosti:
- Půjde zveřejnit jen text k písni, která již je v databázi
- Bude to moci dělat jen administrátor
- Text písně se bude dát exportovat do textového souboru
- Texty písní budou k dispozici jen pro registrované uživatele
Trochu jsem to rozepsal - zejména abych předvedl, jak je důležité
mít "cílový koncept". Asi si umíte představit, že kdybyste tento seznam
tvořili se zákazníkem, mohl by být daleko rozsáhlejší. A taky si asi už
v téhle chvíli umíte představit, co by se stalo, kdybyste začali
pracovat bez ujasnění těchto základních pravidel hry.
Pozn.: Pokud se jedná o komerční
záležitost, jen naprostý sebevrah by byl schopen zkalkulovat cenu
předtím, než udělá nějaký podobný cílový koncept. Profík si naopak
vyhradí, že s každou změnou funkcionality se znovu probere otázka
financí.
Technický rozbor
Teď není chvíle, kdy bychom měli "přijít od zákazníka, sednout a
psát", nýbrž chvíle pro nějakou tu technologickou poradu. Samozřejmě,
že aplikace bude vyžadovat skriptování na straně serveru - jasně volíme
PHP. Bude potřeba databáze (minimálně na uložení alb, písní, textů a
uživatelů). Zvolíme tedy (například) MySQL. Možná budeme potřebovat
poshánět nějaký ten software - už jsme o tom psali. Další věci
ke zvážení.
Teď něco z HTML. Budeme potřebovat stanovit, jaký typ dokumentu
vlastně vyvíjíme - zda HTML, XHTML a jakou verzí specifikace se přitom
budeme chtít řídit. To je nesmírně důležité, protože náš kód by měl být
vždy validní (psal o
tom Luboš
Turek). Dobrý rozbor této problematiky najdete zde.
Aplikace by měla už od prvopočátku mít nějakou koncepci rozvržení,
tzv. layoutu. V zásadě se na každý složitější site použije některá ze
tří následujících technologií:
Každý z těchto způsobů má své zastánce, pěkně to shrnuje článek
Pavla Káchy. Formálně je nejsprávnější použít technologii kaskádových
stylů, protože právě za tímto účelem byla vyvinuta. My použijeme
tabulky, protože to bude pro výklad některých pasáží názornější než CSS.
Pozn.: Pokud to s tvorbou webu
myslíte vážně, rozhodně uvažujte o kaskádových stylech. Je to
budoucnost webdesignu. Jednou větou - styly nejlépe umožňují oddělit
obsah stránek od formy.
V dalším díle seriálu si poslepujeme "kostru" našeho webu a ujasníme
si, jak vyřešíme navigaci mezi jednotlivými částmi stránek.
Verze pro tisk
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|