Úvod do studia PHP

Toto je online kurz studia jazyka PHP, který vznikl za účelem obecného vzdělání. Je k dispozici zdarma na tomto webu. Texty by neměly být použity v rámci jakéhokoli placeného kursu a jejich použití je na vlastní nebezpečí. Základní náčrt jsem napsal už na základní škole, hodně se od toho už změnilo, takže místy nemusejí být texty ještě upravené. Pokud najdete chybu, dejte mi prosím vědět.

Upgrade z HTML

„Upgrade“? Zní to spíše jako mediální obrat, a tak tomu skutečně je. Žádný upgrade se totiž nekoná. PHP zachovává všechny funkce a vlastnosti čistého HTML dokumentu, jen přidává nové možnosti psaní a nasazení. Skvělé, ne? Pokud už máte nějaké zkušenosti s HTML, tak moc dobře víte, že se celý kód píše pomocí speciálních značek, které jsou uzavřené v hranatých závorkách. HTML se řídí řadou pravidel, ale velké množství chyb je tolerováno a stránka zkrátka „funguje“. V PHP na toto zapomeňte. Sice spousta zápisů funguje, ale nelze se na to vždy spoléhat. Pokud tedy „bastlíte kód“ (píšete ho nečitelně, neúhledně, nestrukturovaně), tak ihned zapracujte na nápravě.

Průběh komunikace uživatele se serverem

U obyčejné HTML stránky to funguje zhruba takto:

Uživatel pošle požadavek (vyžádá si konkrétní HTML stránku), server se podívá na disk a pošle zpět přesně to, co je uloženo. Nic zvláštního se nestane a nic víc od toho nečekejte. Stránky budou jen statické, bez žádné možnosti interakce serveru.

Pokud však přidáme PHP, tak se začnou dít teprve divy:

Uživatel si opět vyžádá stránku. Server otevře daný soubor na disku, ale vidí, že neobsahuje jen čisté HTML, ale i speciální značky, které označují PHP script. Nejprve je tedy vyhodnotí a až pak odešle to, co PHP vygenerovalo.

Samotné generování nepatří mezi nejrychlejší procesy. Při každé další načtené stránce musí server každý používaný script znovu spustit, přepočítat a odeslat. Jedná se sice někdy o celkem zbytečnou práci (dá se částečně vyřešit přes cachování, ale to je pro vás ještě celkem vzdálené téma), ale stále se jedná o jedno z nejjednodušších řešení, jak udělat interaktivní web.

Rychlost zpracování PHP scriptu oproti C++

PHP C++
Při každé obnově i nepatrného množství informací se musí stáhnout a přepočítat spousta kódu. Při malé změně program pracuje jen s úsekem kódu a zbytek má dávno načtený v paměti a jen si pamatuje výsledky.
Používá hodně knihoven už v základní instalaci, takže nabízí mnoho možností. V základu nemá žádnou knihovnu, musíte je ručně definovat.
Všechny knihovny musí držet v paměti načtené a složitě se vypínají. Pracuje jen s knihovnami, kde to programátor zamýšlel předem.
Má volnější syntaxi (pravidla zápisu kódu), takže dokáže některé nepřesnosti tolerovat. Velmi přísné pravidla. I malá chyba nebo nepřesnost může zničit celý program.
Při pádu jednoho scriptu nespadne celý web, ale jen část. Při pádu jedné části spadne celý program.

Obecně ale platí, že pro web je vhodnější PHP a pro klientské aplikace C a C++. PHP je asi 10× pomalejší při stejném úkolu jako C, protože je aplikovaný jazyk, zatímco C pracuje přímo s pamětí a procesorem, což mu dovolí lepší rozložení zátěže a naplánování úloh. Na závěr ještě nesmím zapomenout zdůraznit, že existuje metoda, kdy s klientem komunikuje PHP a operace řeší C nebo C++. Ve většině případů se jedná o další zpomalení a nijak to webu nepomůže. Jedná se o vhodné řešení pouze v případě, kdy používáte C jak cron (periodicky vykonávané úlohy na serveru) a počítá složité výpočty nezávisle na uživateli. Na př. Třídí databáze, dělá údržby a jiné.

Kopírování (kradení scriptů)

PHP script neukradnete! (nebo vlastně ano, ale to byste museli hacknout server, …) – Jelikož se PHP scripty vykonávají na serveru, a vy dostanete pouze čisté HTML.

Jak funguje „generování do HTML“?

Nefunguje to tak doslova, že budete surfovat po HTML stránkách. PHP script se musí vždy nacházet v PHP souboru. Do teď, byla většina zvás zvyklá vytvářet obrovské složky, plné souborů, končící na příponu .html. Nyní to bude mnohem méně souborů. V extrémním případě se může jednat o jediný soubor.

Sponzorované odkazy
Pomohl Vám tento článek?