Premenné
Predstavme si situáciu, že pomocou príkazu echo z predchádzajúceho príkladu potrebujeme vypísať jednu vetu povedzme trikrát za sebou. Praktické využitie nasledujúcej vety zasiahlo nemálo z vás niekedy v sobotu ráno. S doteraz nadobudnutými vedomosťami by náš kód vyzeral asi takto:
<?php
echo "Uz nikdy nebudem pit! ";
echo "Uz nikdy nebudem pit! ";
echo "Uz nikdy nebudem pit! ";
Ak si daný kód otestujeme v online simulátore, vidíme, že žiadúci výsledok to prinesie. Správne sme použili príkaz echo viackrát za sebou a nemáme žiadnu syntaktickú chybu – použili sme správny príkaz, v úvodzovkách žiadúci text a za príkazom bodkočiarku. Naše zadanie sme splnili, pomocou kódu sme dosiahli výpis textu trikrát po sebe. Jedným zo základných princípov programovania však je písať kód optimálne, to znamená, najjednoduchšie a najefektívnejšie ako sa len dá. V našom prípade sa vyskytuje častá chyba začiatočníkov – v príkaze máme použitý priamo definovaný ten istý text viackrát. Aby sme sa rozumeli, čo máme na mysli. Ak by bol tento príkaz použitý iba raz v celom programe, je to v podstate v poriadku. Ale predstavte si, že máte program, ktorý obsahuje stovky riadkov a niekde medzi nimi sa nachádzajú tieto naše tri príkazy. Zistíme, že náš text potrebujeme troška upraviť. Ako by sme to nateraz riešili? Museli by sme nájsť všetky výskyty tohto príkazy s týmto textom, ktorý chceme zmeniť a ručne to upraviť. To ale nie je veľmi praktické. Čo keď tých riadkov bude 10 000 a náš príkaz bude použitý 1000 krát? Vyhľadávať niečo tisíckrát, hľadať ihlu v kope sena a meniť to je veľmi pracné. A na to veru programovanie nie je určené, má nám uľahčovať život a automatizovať opakujúce sa činnosti.
Aj na vyriešenie tohto problémy vznikli premenné (variables). Z matematiky si dúfam pamätáte rovnice, napríklad 4x = 16. Po predelení číslom 4 dostaneme výslednú rovnicu x = 4. Naše písmenko „x“ predstavuje názov premennej, v ktorej je uložená hodnota 4. Takže ak vieme hodnotu naše premennej a je použitá v rovnici s druhou premennou, vieme to ľahko dorátať. Rovnicu x + y = 9 vieme vyrátať, pretože vieme, že premenná x obsahuje číslo 4, takže namiesto x napíšeme jeho hodnotu, tažke naša rovnica vyzerá 4 + y = 9 a po odpočítaní čísla 4 z oboch strán dostaneme výsledok y = 5. Prečo som použil tento príklad z matematiky? Lebo veľmi podobne fungujú premenné v jazyku PHP.
Pre náš príklad použijeme jednu premennú, ktorú si môžeme akokoľvek nazvať (akokoľvek ani nie, sú tam isté obmedzenia a pravidlá, ale k tomu sa dostaneme neskôr...). Uložíme si do nej náš text, takže jej hodnota bude "Uz nikdy nebudem pit! ". Na čo nám to bude dobré? No na to, že v našom príklade nepoužijeme priamo náš žiadúci text ohraničenými úvodzovkami za príkazom echo, ale použijeme na výpis našu premennú reprezentujúcu náš text. Tažke príkaz bude vypisovať jej obsah – jej hodnotu. Podobne ako v rovnici x + y = 9 sme sa na premennú x odkazovali, aj keď sme jej hodnotu už vedeli. A mohli sme ju v ďalšom kroku nahradiť jej hodnotou, ktorú reprezentuje. Takisto náš príkaz echo bude vypisovať obsah našej premennej. Poďme si to ale pre lepšie pochopenie ukázať v praxi.
Premenné v jazyku PHP sa deklarujú (definujú) špeciálnym znakom $ (dolár), za ktorým nasleduje názov premennej. Ďalej nasleduje znak = (rovná sa) a za tým nasleduje hodnota, ktorú chceme do danej premennej priradiť. Našu premennú si nazveme nas_text, takže deklarácia našej premennej bude vyzerať $nas_text = "Uz nikdy nebudem pit! "; . Keďže sme si zadefinovali premennú jej jedinečným (unikátnym) názvom, v celom programe bude v tejto premennej pod daným menom uložená nami zadaná hodnota a môžeme ju kedykoľvek a kdekoľvek použiť. Je to akokeby miesto v pamäti počítača, kde pod daným názvom je uložená naša hodnota a môžeme sa na ňu odkazovať. Teraz náš výpis skúsime za použitia novovytvorenej premennej. Namiesto nášho textu vymedzeného v úvodzovkách použijeme jednoducho našu premennú, takže náš príkaz bude vyzerať echo $nas_text;. Náš program bude vyzerať nasledovne:
<?php
$nas_text = "Uz nikdy nebudem pit! ";
echo $nas_text;
echo $nas_text;
echo $nas_text;
Jeho výstup (výsledok – result) by mal vyzerať takto : Uz nikdy nebudem pit! Uz nikdy nebudem pit! Uz nikdy nebudem pit!. A načo to vlastne bolo dobré, keď sme aj tak použili trikrát tú istú premennú? No na to, že ak sa nám tento príkaz bude vyskytovať viackrát kdekoľvek v našom programe a budeme chcieť zmeniť text, nemusíme hľadať, kde je príkaz použitý, ale nájdeme iba deklaráciu našej premennej a zmeníme ju. Pre prehľadnosť kódu je dobrým zvykom písať deklarácie všetkých premenných na začiatok programu. Čiže ak deklaráciu premennej zmeníme na začiatku programu napríklad na $nas_text = "Uz NAOZAJ nikdy nebudem pit! ";, zmena sa prejaví všade, kde je daná premenná použitá. Šikovné však?
Počas tejto ukážky by som rád podotkol na dve veci, ktoré ste si možno všimli. Schválne v textoch, ktoré vypisujeme, nepoužívam diakritiku. Je to preto, pretože pri programovaní je veľmi praktické používať anglickú klávesnicu, pretože počas programovania používame samé špecálne znaky ako bodkočiarka, úvodzovky, zátvorky, čiarky, bodky, množinové zátvorky a podobne. Je dobré naučiť sa písať od začiatku na anglickej klávesnici a preto nepoužívam diakritiku v textoch, aby ste nemuseli prepínať klávesnicu.
Druhá vec je, že názov premennej som napísal nas_text. Tu si môžete všimnúť, že premenná sa začína malým písmenom a nie veľkým, je dobré dodržiavať tento zvyk. Ak je premenná viacslovná, je dobré jednotlivé slová oddelovať znakom _ (podtržník – underscore). Čiže naša premenná sa kľudne môže volať toto_je_moja_prva_premenna.