PHP (60) - Rozsáhlejší projekty 1.
Umět PHP neznamená jen syntaxi. Pojďme se podívat, na co myslet při vývoji rozsáhlejších projektů.
25.10.2004 15:00 |
Petr Zajíc
| Články autora
| přečteno 53912×
V několika předchozích dílech našeho seriálu jsme si ukázali, jak
může PHP spolupracovat s takovými záležitostmi, jako je XML,
elektronická pošta či publikování pomocí PDF. Takto by se dalo
pokračovat popisem dalších možností, aplikací a protokolů, které PHP
podporue; nicméně byly by to věci již
poměrně specifické a pro většinu čtenářů obtížně stravitelné. My se teď
v seriálu vrhneme trochu jiným směrem - pokusíme se dát (zejména
začínajícím) programátorům několik rad k vývoji rozsáhlejších projektů.
Důvod je prostý - programátorem se člověk nestane tím, že se naučí
syntaxi některého jazyka (třeba PHP). Programátorem se člověk stává,
když si osvojí určité zvyky. Většinou zvyky, které mu práci buď ulehčí,
nebo systematizují. Zamysleme se tedy na tím, co je potřeba při vývoji rozsáhlejších projektů v PHP.
Budeme tomu věnovat několik dílů našeho seriálu; nejprve teoretických a
následně se pokusíme jeden takový "větší" projekt napsat a odladit.
Rozsáhlejší projekty
Zatím jsme v tomto seriálu uváděli příklady co možná nejkratší.
Třeba jedna funkce, jedna třída, jeden skript. V reálném světě to tak
pochopitelně není; většina webů se skládá z několika až několika
desítek vzájemně provázaných skriptů. Ty musí být schopny fungovat jako
jeden celek. Což znamená mnohem víc, než prostě místo jednoho skriptu
jich napsat několik. Znamená to důsledné plánování, většinou projití
několika slepých cest, prošvihnutí pár termínů a několik bezesných
nocí. Většině z toho lze předejít a tom si právě něco řekneme.
Pozn.: Osobně mě velmi pobuřuje přístup,
používaný v mnoha knihách (bohužel i v některých knihách o PHP). Autor
nejprve uvede několikastránkový skript nebo skripty, a pak je uvede
znova a prokládá je komentáři, co že ten který kousek kódu vlastně
dělá. Ale nikde už není uvedeno, co musel autor udělat, aby daný kód
sestavil. Na jaké problémy narazil? Fungovalo to hned? Musel něco
přepisovat? Přeskupovat? Vynechat? Proč to napsal právě takhle, když
jiný způsob se nabízí hned na první pohled...???
Analýza
Prakticky každý trochu složitější projekt je potřeba nejprve
zanalyzovat. Nestačí vědět, že zákazník potřebuje mít "databázi" a
"nějaké vyhledávání". Bude databáze rozsáhlá? Bude se k ní připojovat
pár lidí, nebo pár tisíc lidí najednou? Bude se z ní převážně číst,
nebo se do ní bude převážně zapisovat? Má být výstup čitelný na
palmtopu (mobilu...)? Bude aplikce ve více jazykových verzích? Otázek
je mnoho. Zlatá rada zní: Pokud pracujete pro někoho, konzultujte!
Cílem Vaší analýzy by měl být (písemný!) cílový koncept. Kdybyste
například měli dělat portál podobný Linuxsoftu, mohla by část cílového
konceptu vypadat následovně:
- Portál bude obsahovat databázi Linuxového software s možností
zadávání položek uživateli a schvalování administrátory
- Uživatelé budou mít své profily. V profilu budou moci být
obsaženy informační údaje...
- Server bude obsahovat rovněž články. I ty se budou před vydáním
schvalovat administrátory.
- Atd...
Je to důležité! Viděl jsem již příliš mnoho projektů, které
zkrachovaly v momentě, kdy zákazník řekl: "Ale já myslel, že to bude
umět to či ono!" S kvalitní analýzou a písemným cílovým konceptem se
Vám to nemůže stát.
Pozn.: Nebo cílový koncept doplníte... a
máte v ruce argument k navýšení ceny!
Nástroje a postupy
To, že budete Vaší vysněnou aplikaci psát v PHP neznamená, že
nebudete potřebovat další nástroje. Asi druhou nejpalčivější potřebou
bude většinou volba databáze. O tom jsme již v našem seriálu mluvili
a (jak jsem předpokládal) strhla se kolem toho rovněž diskuse. Obecně
řečeno - pokud bude Váš projekt vyžadovat databázi, měli byste si ji
vybrat již v této fázi "boje". Přechod z jedné databáze na jinou v
polovině vývoje znamená většinou smrt projektu.
Pozn.: Výjimkou jsou samozřejmě
aplikace, které jsou od počátku psány tak, aby uměly pracovat s více
databázemi.
Je rovněž možné, že budete potřebovat nějaké PHP moduly nebo externí
software. Může se to týkat systému správy chyb, modulů pro export a
import dat a podobně. Měli byste pokud možno tyto potřeby odhadnout a
vše potřebné si připravit a nachystat, aby Vás to později během práce
nezdržovalo.
Organizačně vzato bývá ještě praktické dohodnout časový harmonogram
a nějaký způsob, jak můžete zákazníka informovat o postutpu práce. V
PHP to většinou nebývá problém; dělá se to tak, že existuje zkušební
umístění, na němž aplikace běží a k němuž má zákazník přístup. Tak může
sledovat, jak Vám práce "roste pod rukama". S tím souvisí i další bod -
pro úspěch je nutné mít kvalitní zázemí na straně serveru.
Hosting
Většina zákazníků má již nějakou internetovou prezentaci a tudíž
nějaký hosting. Bude však tento hosting vyhovovat potřebám Vaší
aplikace? To není jednoduchá otázka. Většinou nestačí, že hosting
podporuje běh skriptů PHP. Abyste si udělali základní představu o
serveru a prostředí, může použít funkci phpinfo().
Je to velmi jednoduché a poskytne Vám to základní představu o systému a
použitém vybavení:
<?
phpinfo();
?>
Spustit skript
V tabulce uveďme nejdůležitější informace, které Vám funkce phpinfo
vypíše a které byste rozhodně měli zvážit:
Údaj
|
Důvod
|
PHP Version
|
Verze PHP by neměla být příliš
zastaralá, ani by to neměla být nejnovější beta. Obojí by znamenalo, že
administrátor je trochu mimo.
|
System
|
Základní problém je: Windows
versus Linux. Ano, aplikace Vám může běžet na PHP + Windows, ale...
|
Configure command
|
Popisuje s jakými volbami bylo
PHP konfigurováno. Užitečné, pokud potřebujete například podporu XML a
podobně.
|
Server API
|
Tady bude převážně Apache, ale
není to podmínka. A navíc, může se jednat o Apache 1.x nebo 2.x a tak
dále.
|
Další věc ke zvážení je "lidský faktor". Většinou bývá dobré se
ujistit zda a jaká systémová podpora ze strany správců je k dispozici a
zda jsou schopni pružně reagovat na Vaše požadavky. Pokud zjistíte, že
potřebujete jiné prostředí než to, které je na současném webu k
dispozici, můžete se pokusit přimět administrátory webu ke změně
nastavení, nebo můžete změnit poskytovatele webového prostoru. Je to na
Vás. Není ale nic otravnějšího než čekání na změny v nastavení, které
měl někdo udělat před několika dny a ono to stále není hotové. Zejména
když na tom "visí" další práce.
V dalším díle seriálu se naučíme, jak "pracovat s rozmyslem" při
organizování dat v databázi a členění programů.
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 ...
|