Tutoriál PHP #2: Ako pohodlne písať HTML kód v prostredí PHP

V druhej časti nášho seriálu tutoriálov o jazyku PHP si popíšeme, ako pohodlne písať HTML kód v prostredí PHP. Ďalej sa budeme venovať dátovým typom, ktoré sa v php používajú.
Syntax HEREDOC, alebo ako pohodlne písať HTML kód v prostredí PHP
.
Syntax HEREDOC začína znakom <<< a nejakým popisom, najčastejšie používaným napr. EOM (End Of Message). V podstate tam môže byť napísané čokoľvek. Dôležité je, aby sa to objavilo aj na konci syntaxe HEREDOC. Vymedzením tohto priestoru vzniká v PHP miesto, v ktorom môžeme pohodlne zapisovať všetky značky jazyka HTML, bez nutnosti používania nejakého príkazu PHP. Na príklade si ukážeme vytvorenie jednoduchej tabuľky bez použitia syntaxe HEREDOC a následne s použitím HEREDOC.

<?php  

// tabulka bez pouzitia syntaxe HEREDOC

   echo "<table>";
          echo "<tr>";
             echo "<td>";
             echo "</td>";
             echo "<td>";
             echo "</td>";
          echo "</tr>";
          echo "<tr>";
             echo "<td>";
             echo "</td>";
             echo "<td>";
             echo "</td>";
          echo "</tr>";
   echo "</table>";
?>
<?php 
// tabulka s pouzitím syntaxe HEREDOC

$tabulka = <<<EOM

   <table>
      <tr>
	    <td></td>
	    <td></td>
	  </tr>
      <tr>
	    <td> </td>
	    <td> </td>
	  </tr>
   </table>
EOM;
     echo  $tabulka;    
?>

Ako je z príkladu vidieť, keď chceme používať HTML kód medzi značkami PHP, je potrebné ho aplikovať ako reťazec, t.j. použiť úvodzovky a príkaz echo. ALEBO, môžeme použiť syntax HEREDOC, ktorý začína riadkom 4 a končí riadkom 16. Medzi týmito riadkami môžeme písať pohodlne kód HTML aj napriek tomu, že sme medzi značkami PHP.

Dátové typy používané v PHP
Jazyk PHP má oproti iným programovacím jazykom tú výhodu, že vie podľa obsahu premennej rozoznať o aký typ dát ide. V PHP rozlišujeme osem základných dátových typov:

Booelan:
hodnota premennej nadobúda dve hodnoty, true alebo false,
Integer: hodnota premennej je číselná, patria tu celé čísla, kladné aj záporné,
Float: hodnota premennej je číslo s plávajúcou desatinnou čiarkou, ide o desatinné čísla,
Array: hodnota premennej je pole, v ktorom môže byť uložených viacej hodnôt a dokonca aj s rôznymi dátovými typmi,
String: hodnota premennej je znak, čiže reťazec (najčastejšie texty),
Object: hodnota premennej obsahuje prvky PHP, napr. rôzne funkcie, konštanty alebo premenné,
Resource: ide o špeciálny typ tvorený funkciou, ktorá bola definovaná v PHP, a ktorá odkazuje na vonkajšie zdroje,
NULL: špeciálny dátový typ, nemá žiadnu hodnotu, používa sa napr. pre neinicializované premenné.
Často môže nastať situácia, kedy je potrebné zmeniť typ premennej. Vysvetlíme si to na tomto príklade:

<?php  
  $moja_premenna = "3.14"; // táto premenná obsahuje reťazec (nie je to číslo)
  echo  ++$moja_premenna . "<br>"; // zväčšenie o 1, výsledok bude 4,14
  $moja_premenna2 = (int) $moja_premenna; // premenna obsahuje celé číslo 4
  echo $moja_premenna2;  // vypíše sa 4.
?>

- riadok 2: vytvorili sme premennú, ktorá obsahuje reťazec 3.14. Nejde o číslo, nakoľko sme použili úvodzovky,
- riadok 3: príkaz ++ znamená, že hodnota za ňou má byť zväčšená o hodnotu 1. Jedná sa o matematickú inkrementáciu. Príkaz ++ ale zabezpečí ešte aj zmenu dátového typu. Teraz už nejde o reťazec, ale o dátový typ s plávajúcou desatinnou čiarkou - float,
- riadok 4: prevedieme dátový typ float na dátový typ integer. Čiže prevod z desatinného čísla na celé číslo. Výsledkom tento krát bude číslo, ktoré je pred desatinnou čiarkou, v našom prípade číslo 4,
- riadok 5: vypíše sa výsledok 4.
Pole

Pole sa v PHP používa veľmi často. Laicky povedané, ide v podstate o akýsi zásobník, do ktorého je možné uložiť väčšie množstvo údajov, a to dokonca s rôznymi dátovými typmi. V nasledovnom príklade vytvoríme pole, v ktorom budú uložené údaje nejakého používateľa:

<?php  

   $zakladne_udaje = array(
                           "meno" => "Janko",
						   "priezvisko" => "Hraško",
						   "e-mail" => "janko.hrasko@gmail.com",
						   "adresa" => array (
						                      "ulica" => "Malinová",
											  "cislo" => 48,
											  "mesto" => "Košice",
											  "psc" => 04001
						                      )
						   );

      echo $zakladne_udaje ["e-mail"]; // vypíše sa janko.hrasko@gmail.com

?>

Vytvorili sme premennú, v ktorej je pole. Pole obsahuje štyri kľúče, ktoré sú tvorené reťazcami meno, priezvisko, e-mail a adresa. K jednotlivým kľúčom sú priradené konkrétne hodnoty. Ku kľúču "meno" je priradená hodnota "Janko", a tak podobne.
Posledný, štvrtý kľúč "adresa" obsahuje vnorené pole, ktoré má ďalšie štyri kľúče s hodnotami. V riadku 15 sme si nechali napr. vypísať hodnotu kľúča "e-mail".
Kľúče nemusia byť tvorené pomocou reťazcov. Môžu to byť čísla. Tu je malý príklad:

<?php  

   $zakladne_udaje = array(
                            "Janko" ,  "Hraško", "janko.hrasko@gmail.com"
                           );
      echo $zakladne_udaje [2]; // vypíše sa janko.hrasko@gmail.com

?>

Pole obsahuje tri kľúče s konkrétnymi hodnotami. Aj keď to v poli nie je vidieť, v skutočnosti sú tam číselné kľúče. Tak napr. informácia o e-maily sa nachádza pod kľúčom č.2. Je to vidieť aj na výpise v riadku 6.
Reťazce
 Reťazce sa v PHP zapisujú pomocou úvodzoviek ( " " alebo ' '). Reťazec sú vlastne znaky
vrátane medzier. Môžu to byť aj čísla, samozrejme ak sú uzavreté medzi úvodzovkami. Existujú však špeciálne znaky - písmená abecedy, ktoré sa nebudú správať ako reťazec, ak pred nich dáme spätnú lomku. Hovoríme tomu SEKVENCIA ESPACE. Tak napr. ak napíšeme písmeno "n", je to obyčajný znak abecedy. Ale ak ho napíšeme aj s lomkou - "\n", už je to špeciálny znak, ktorý sa nevypíše, ale jeho úlohou je presun kurzora myši na nový riadok, podobne, ako v HTML kóde príkaz br. Poznáme niekoľko takýchto znakov:

\n
- presun kurzora myši na nový riadok
\r
- Carriage Return
\t
- tabulátor
\\
- spätná lomka
\$ - znak dolar
\" - úvodzovky

Ako je to s úvodzovkami?

Reťazce sa v PHP zapisujú pomocou úvodzoviek ( " " alebo ' '). Dvojitým úvodzovkám hovoríme, že sú inteligentné. Ich používanie vysvetlíme na príklade:

<?php  

  // použitie " "
     echo "Dnes je pondelok"; // vypíše sa Dnes je pondelok
	 
   // použitie ''
     echo 'Dnes je pondelok'; // vypíše sa Dnes je pondelok
 
   // kombinácia '' a " "
     echo '<img src="obr/obr.png" alt="obrazok">'; // vypíše sa Dnes je pondelok
	 
  // použitie premennej v reťazci
    
	  $meno = "Molly"; // 
	  echo "Môj psík sa volá $meno"; // Môj psík sa volá Molly 	 

	  echo 'Môj psík sa volá $meno'; // Môj psík sa volá $meno 	 
     
?>

Ako sme už uviedli, reťazec je možné vypísať pomocou dvoch typov úvodzoviek ' ' a " " (riadok 4 a 7).

- riadok 10: pri tomto výpise je použitý HTML kód pre vloženie obrázka. Atribúty src a alt používajú dvojité úvodzovky. Dvojité úvodzovky sa používajú aj na označenie začiatku a konca reťazca, aby príkaz echo vedel, čo všetko má zobraziť. Ak by sme pri tomto celom zápise použili len dvojité úvodzovky, nastal by problém. Príkaz echo by nevedel, kde má koniec reťazca. Preto je vhodné v tomto prípade úvodzovky kombinovať.
- riadok 15 a 17: ak máme v reťazci premennú, ktorá má nejaký obsah, a ten sa má v rámci reťazca vypísať, musíme použiť dvojité úvodzovky. Tie vedia premennú v reťazci identifikovať a zamenia ju za obsah (riadok 15) Preto sa dvojitým úvodzovkám hovorí, že sú inteligentné. Ak by sme použili obyčajné úvodzovky, vypísal by sa názov premennej, nie jej hodnota (riadok 17).

Rubriky: