Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

3. diel - Premenné a typový systém v PHP

V minulej lekcii, Inštalácia Apache, MySQL a PHP na Windows a prvý PHP skript , sme si sprevádzkovali všetko potrebné k tomu, aby sme v PHP mohli programovať. V dnešnom PHP tutoriále si ukážeme základy syntaxe a prácu s premennými.

echo()

Zrekapitulujme si ešte príklad z minula, ktorý mal nasledujúce podobu:

Klikni pre editáciu
  • <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title></title>
        </head>
        <body>
            <?php
                echo("Tento text do stránky vložilo PHP");
            ?>
        </body>
    </html>
    
    • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

    Už vieme, že PHP skript vyzerá ako bežná HTML stránka. Keďže má však stránka príponu .php, môže obsahovať časti označenej značkami (direktívou) <?php a ?>. Tu sa môže nachádzať kód, ktorý na serveri spustí PHP modul. Na toto miesto potom vloží výsledok, ktorý kód vygeneroval.

    Príkaz echo() do stránky vypíše zadaný text. echo() je funkcia a za názov každej funkcie píšeme zátvorky, do ktorých vložíme jej vstupné parametre. Pre echo() je parametrom text, ktorý sa má vypísať. Aj keby funkcie nepotrebovala k svojej úlohe žiadny parameter, musíme tam napísať zátvorky, v tom prípade prázdnej. PHP je na funkciách založené a ponúka ich pomerne veľa. Väčšinu vecí si nemusíme programovať sami, ale jednoducho zavoláme PHP funkciu, ktorá je vykoná. Namiesto funkcií sa dajú používať aj objekty, s ktorými sa zatiaľ zaťažovať nebudeme, ale zložitejšie aplikácie bez nich prakticky nemožno vytvoriť. Na tento seriál nadväzuje niekoľko ďalších, ktoré potom tieto pokročilejšie techniky vysvetľujú.

    Zrovna u funkcie echo() možno zátvorky vynechať, ale u väčšiny iných funkcií to nedá. Príde mi prehľadnejšie písať je všade, než je niekde mať a niekde nemať.

    Funkciu echo() odovzdávame v parametri text. V programovaní sa texte hovorí textový reťazec, anglicky string. Textové reťazce píšeme do úvodzoviek, či už jednoduchých alebo dvojitých. Je to z toho dôvodu, aby si PHP text neplietlo s ostatnými príkazmi. Keď teda napíšeme napr .:

    Klikni pre editáciu
    • echo("echo");
      
      • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

      PHP vie, že je to druhé "echo" len text a nebude si ho všímať (vypíše jednoducho text echo). Za každým príkazom vždy nasleduje bodkočiarka. Príkazy píšeme na samostatné riadky. Syntax PHP vychádza z céčka, v ktorom je PHP mimochodom naprogramované. Je samozrejme podobná aj ďalším jazykom, čo z céčka vychádzajú, napr. Jave alebo C # .NET. Ak tieto jazyky poznáte, budete mať výhodu. Ak nie, všetko si tu vysvetlíme od začiatku.

      V stránke, ktorú vidí používateľ, už nie je po PHP ani pamiatky. Obsahuje len to, čo PHP vygenerovalo. Užívateľ sa teda k zdrojovému kódu v PHP nikdy nedostane. HTML stránka, ktorú vygeneroval skript vyššie, vyzerá takto:

      <!DOCTYPE html>
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
              <title></title>
          </head>
          <body>
                  Tento text do stránky vložilo PHP
          </body>
      </html>

      PHP teda HTML nijako nenahrádza, je to len prostriedok k jeho generovanie. Obvykle máme nejakú HTML kostru, do ktorej dynamicky vkladáme obsah, ktorý nie je vopred známy a ktorý sa mení (napr. Komentáre v knihe návštev). Obsah sa často načíta z nejakej databázy.

      Príklad vyššie by sme však dokázali urobiť aj bez PHP, že? Poďme do skriptu vložiť nejakú dynamickú funkčnosť.

      Premenné

      Slovo premenná by ste mali poznať zo školy. Pre Neprogramátori je to miesto v pamäti, kam si môžeme ukladať dáta a potom s nimi pracovať. Premenné pomenovávame ľubovoľným názvom bez medzier a diakritiky. Pred ich názov píšeme vždy dolár ($).

      Na klávesnici znak dolára $ napíšeme pomocou pravého Alt a písmena ô:

      Znak dolára na klávesnici - Základné konštrukcie jazyka PHP

      Vnútri PHP časti stránky si vytvoríme niekoľko premenných a naplníme ich rôznymi hodnotami:

      $pozdrav = "Ahoj";
      $vek = 15;
      $pi = 3.14;

      Všimnite si, že sa premenné vždy volajú podľa toho, čo je v nich uložené. Nie je nič horšie, ako uložiť napr. Vek do premennej $a, pozdrav do $b a podobne. Vo svojich skriptoch by ste sa za chvíľu nevyznali. Naopak ak máte 2 čísla a pomenujete je $a a $b, je to v poriadku. Obsah nejaké premenné môžeme samozrejme jednoducho vypísať pomocou funkcie echo().

      V nasledujúcej ukážke použijeme apostrof. Apostrof napíšeme pomocou klávesy Shift a klávesy, ktorá sa nachádza pod klávesom Backspace:

      Apostrof - Základné konštrukcie jazyka PHP

      Upravme náš kód:

      Klikni pre editáciu
      • $pozdrav = "Ahoj";
        $vek = 15;
        $pi = 3.14;
        echo($pozdrav);
        echo('<br />');
        echo($vek);
        echo('<br />');
        echo($pi);
        echo('<br />');
        
        • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

        Mali by ste vidieť nasledujúci výstup:

        Tvoja stránka
        localhost/Hello­World

        Určite ste si všimli, že do úvodzoviek dávame len text, čísla a premenné píšeme tak, ako sú.

        Dátové typy

        Každá premenná je určitého typu, týmto typom sa hovorí dátové. V skripte sme si vytvorili premenné troch základných dátových typov. Pozdrav je typu string, o tom sme si už hovorili. $vek je typu int, čo je celé číslo. $pi je potom typu double (niekedy môžete naraziť aj na typ float, v PHP označujú obidva typy to isté, teda desatinné číslo).

        PHP je tzv. Dynamicky typizovanom jazyk. To znamená, že dátové typy nemusíme u premenných zadávať (ako napríklad v jazyku C), ale PHP si typ podľa obsahu premennej nastaví samo. Medzi typy tiež PHP samo prevádza. Teoreticky nemusíme ani vedieť o tom, že premenná nejaký dátový typ má, prakticky by sme sa však niekedy mohli celkom diviť, keď by PHP samo previedlo niečo tak, ako sme to nečakali.

        Sčítanie čísel a spájanie reťazcov

        V PHP môžeme medzi číslami samozrejme používať základné počtové operácie, okrúhle zátvorky a ostatné premenné:

        Klikni pre editáciu
        • $r = 10;
          $obsah = 3.14 * $r * $r;
          echo("Obsah kruhu je $obsah cm<sup>2</sup>");
          
          • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

          výstup:

          Tvoja stránka
          localhost

          Kód vyššie vytvorí premennú $r s hodnotou 10. Táto hodnota sa využije pri zadávaní obsahu premennej $obsah. Premenná $obsah sa vypíše spolu s ďalším textom funkciou echo().

          Vidíte, že do reťazca môžeme jednoducho vložiť aj obsah premennej. Funguje to však len s dvojitými úvodzovkami, s jednoduchými by sa vypísal reťazec tak, ako je napísaný a premenná by sa do neho nevložila. Horného indexu u štvorcových centimetrov sme dosiahli pomocou HTML tagu <sup>. Polomer by sa v reálnej aplikácii samozrejme zadal nejakým formulárom, aby mala aplikácia nejaký význam. To ale zatiaľ nevieme.

          Už sme si hovorili, že PHP samo prevádza medzi rôznymi dátovými typmi. Vyskúšajme si to:

          Klikni pre editáciu
          • $a = 10;
            $b = "20";
            $c = $a + $b;
            echo($c);
            
            • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

            Výstupom bude:

            Tvoja stránka
            localhost

            Hoci je premenná $b zadaná ako text, PHP ju prevedie na číslo akonáhle zistí, že jej chceme k niečomu pripočítať. Rovnaký výsledok by sme dokonca dosiahli aj s týmto zadaním:

            Klikni pre editáciu
            • $a = 10;
              $b = "20 rokov mi je";
              $c = $a + $b;
              echo($c);
              
              • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

              To už je trochu divoké a rozhodne to nebudeme robiť.

              Rovnako, ako môžeme sčítať čísla, môžeme spájať textové reťazce. Cudzím slovom sa tomu hovorí konkatenace (anglicky concatenation alebo skrátene concat). Slúži na to operátor bodka (.):

              Klikni pre editáciu
              • $a = 10;
                $b = 20;
                $veta = "Ahoj, je mi";
                
                $soucet = $a + $b;
                $spojeni = $a . $b;
                echo("Tu je súčet čísel A a B: $soucet");
                echo('<br />');
                echo("Tu je spojenie reťazcov A a B: $spojeni");
                echo('<br />');
                echo('A ešte jeden príklad: ');
                echo($veta . " " . $b . " rokov.");
                
                • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

                výstup:

                Tvoja stránka
                localhost

                Z výstupu programu vidíme rozdiel medzi sčítaním čísel a spájaním reťazcov. Všimnite si, že sme stále v HTML, ak chceme nový riadok, vložíme do stránky jednoducho HTML tag pre odriadkovanie.

                Dnešné príklady máte k stiahnutiu v prílohe článku a ja sa na vás teším v budúcej lekcii, Textové reťazce druhýkrát a polia v PHP , kedy si uvedieme pole.


                 

                Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

                Stiahnuť

                Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

                Stiahnuté 1390x (1.68 kB)
                Aplikácia je vrátane zdrojových kódov v jazyku php

                 

                Ako sa ti páči článok?
                Pred uložením hodnotenia, popíš prosím autorovi, čo je zleZnakov 0 z 50-500
                Predchádzajúci článok
                Inštalácia Apache, MySQL a PHP na Windows a prvý PHP skript
                Všetky články v sekcii
                Základné konštrukcie jazyka PHP
                Preskočiť článok
                (neodporúčame)
                Textové reťazce druhýkrát a polia v PHP
                Článok pre vás napísal David Hartinger
                Avatar
                Užívateľské hodnotenie:
                13 hlasov
                David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
                Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
                Aktivity