Úvodzovky

tiso | 2. 8. 2006

Význam úvodzoviek v (X)HTML, Javascript a PHP súboroch nie je veľa luďom jasný. Pozrime sa im lepšie na zúbky:

(X)HTML

V (X)HTML súboroch sa úvodzovky používajú na oddelenie hodnôt atribútov od mien atribútov v jednotlivých elementoch týchto značkovacích jazykov. Použitie jednoduchých ( ' - tiež nazývané apostrof) či dvojitých ( " ) úvodzoviek je ľubovolné, nie je medzi nimi rozdiel.

Príklad:
...
<a href="stranka.htm" title="Popis">Odkaz</a> /*dvojité úvodzovky*/
...
<a href='stranka.htm' title='Popis'>Odkaz</a> /*jednoduché úvodzovky*/
...

Javascript

V Javascriptových súboroch sa úvodzovky používajú na ohraničenie reťazca. Použitie jednoduchých ( ' ) či dvojitých ( " ) úvodzoviek je opäť ľubovolné, nie je medzi nimi rozdiel.

Príklad:
...
var mode = "html"; /*dvojité úvodzovky*/
...
var mode = 'html'; /*jednoduché úvodzovky*/
...

PHP

V PHP súboroch sa úvodzovky tiež používajú na ohraničenie reťazca. Použitie jednoduchých ( ' ) či dvojitých ( " ) úvodzoviek však nie je možné kedykoľvek zameniť, je medzi nimi niekoľko rozdielov:

  1. pri dvojitých úvodzovkách dochádza k rozvoju premenných, pri jednoduchých nie
  2. pri dvojitých úvodzovkách je možné napísať špeciálne znaky pomocou escape sekvencie, pri jednoduchých sa dá pomocou escape sekvencie zapísať iba znak jednoduchých úvodzoviek
Príklad:
...
1. príklad rozvoja premenných: 
$rok=2006
echo "Je rok $rok"; /*vypíše: Je rok 2006*/
echo 'Je rok $rok'; /*vypíše: Je rok $rok*/
echo 'Je rok '.$rok; /*vypíše: Je rok 2006*/
...
2. príklad ako vypísať úvodzovky: 
echo "Úvodzovky: \", '"; /*vypíše: Úvodzovky: ", '*/
echo 'Úvodzovky: ", \''; /*vypíše: Úvodzovky: ", '*/
...

Zdá sa Vám že chýba pointa? Že ste sa takmer nič nové nedozvedeli? To bude tým že tam takmer nič nové nie je, a tým že pointa prichádza teraz:

Píšeme stránky

Doteraz to vyzeralo že na úvodzovkách až tak nezáleží, treba si na ne dávať pozor iba v PHP. Ako ale bude vyzerať zápis (X)HTML kódu v PHP?

Príklad:
...
1. pre zápis (X)HTML escapujeme PHP mód: 
?>
<a href="stranka.htm" title="Popis">Odkaz</a>
<?php ... 2. používame rovnaké úvodzovky pre PHP i (X)HTML: echo "<a href=\"stranka.htm\" title=\"Popis\">Odkaz</a>" ... 3. používame rozdielne úvodzovky pre PHP a (X)HTML: echo '<a href="stranka.htm" title="Popis">Odkaz</a>' ...

Skúste si tieto príklady napísať a predstavte si ako bude vyzerať kód pri väčšom projekte, i s použitím premenných. Aká bude prehľadnosť kódu? Koľko znakov musíte napísať? Ako rýchlo nájdete chyby z obyčajných preklepov?

Zistíte, že rozdielne zápisy úvozoviek v (X)HTML a PHP sprehľadňujú i skracujú PHP kód a zmenšujú pravdepodobnosť vzniku chyby. Zamyslite sa nad tým...