LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> PHP (4) - Základy syntaxe

V minulém díle našeho seriálu jsme si PHP nainstalovali a nastavili. Dnes se dostaneme v našem povídání o tomto skriptovacím jazyku k základům syntaxe. Uvidíme, jak je kód PHP členěn, jak se v něm trochu vyznat a na co bychom při psaní PHP neměli zapomínat.

31.5.2004 15:00 | Petr Zajíc | Články autora | přečteno 97829×

Komerční sdělení: Pořádáme Kurzy PHP

Jak vůbec server pozná, že má se souborem zacházet jako s programem v PHP? V zásadě podle přípony souboru, který po něm požadujeme. Jestliže má soubor příponu php, server nám jej nevrátí přímo jako by šlo o HTML, ale nejprve jej zpracuje. Příponu php (také phtml, php3 a některé další) pozná server jako soubor skriptu prostě proto, že to má nastaveno v konfiguraci (viz minulý díl). My budeme používat při ukládání skriptů příponu php, je to nejčastější.

Úplná katastrofa může nastat, když souboru se skriptem php dáme omylem příponu htm nebo html. To jej potom server pošle do prohlížeče bez jakýchkoli úprav a uživatel může vidět zdrojový kód skriptu. To asi není to, co chcete, zejména kdyby skript obsahoval citlivé údaje (třeba, jak se připojit k databázi). Takže, dávejte si na to pozor. Na druhou stranu Vám nic nebrání nazvat si "obyčejné" html soubory tak, aby měly příponu php. Když server zjistí, že v nich není žádný php kód, pošle je prohlížeči tak, jak jsou. A navíc – když do nich později budete chtít nějaký kód přidat, už je nebudete muset přejmenovávat.

Oddělení kódu

Ve skriptu samotném je kód php uzavřen dvojicí značek. Mohou to být:

<? [PHP kód] ?>

To je typický případ.

<?php [PHP kód] ?>

tato sytnaxe je kompatibilní se standardem XML, takže asi syntakticky nejčistší. Bývám ale líný to psát.

<SCRIPT LANGUAGE="php"> php [PHP kód] </SCRIPT>

To je sice asi nejsložitější, ale mělo by to donutit editory typu Microsoft FrontPage, aby kód mezi tagy neformátovaly podle svých představ, takže někdy se může docela hodit to znát.

<% [PHP kód] %>

To je syntaxe známá z jazyka asp (Active server pages) firmy Microsoft. Používat by se to mělo jen v krajních případech, protože to vyžaduje úpravu konfiguračních souborů a je to silně nestandardní.

My budeme v příkladech používat dvojice značek <? a ?>. Dokumentace uvádí, že toto chování musí být implicitně zapnuté v konfiguračním souboru, aby to fungovalo, ale že to je zároveň výchozí nastavení. Mě to však funguje úplně všude.

Oddělení instrukcí

Jednotlivé instrukce se v PHP oddělují středníkem. Takže, následující kód Vám nebude fungovat:

<?
echo "První řádek"
echo "Druhý řádek"
?>

Celé to skončí chybou "Parse Error", protože za prvním řádkem nenásleduje středník. S touto chybou se seznamte – pokud jste předtím neprogamovali v nějakém jazyku, který rovněž používá středníky, asi je budete často zapomínat (jako já). Opravený skript je:

<?
echo "První řádek";
echo
"Druhý řádek";
?>

a ještě poznámky:

  • Před poslední instrukcí nemusí středník být. Pište ho tam ale, protože se Vám bude stávat, že připíšete nějakou instrukci ještě níže a kód Vám přestane fungovat.

  • Na rozdíl od některých jiných jazyků jsou konce řádků pro PHP nepodstatné. To můžete použít pro formátování kódu tak, abyste se v něm vyznali. Nepodstatné jsou rovněž mezery a tabelátory. Následující kód je tedy totožný s předchozím:

<? echo "První řádek"; echo "Druhý řádek"; ?>

Komentáře (ano?)

Komentář je něco, co program při zpracování ignoruje a slouží tedy pouze uživateli. Rozhodně si osvojte zapisování komentářů hned při pasní kódu; bude se Vám to hodit. Patřičně to zdůrazníme v článku věnovaném psaní rozsáhlejších projektů, ale zvykněte si na to už teď. Komentáře mohou být v PHP jednořádkové nebo víceřádkové a používají se na ně znaky "//" (dvě dopředná lomítka), "#" (mřížka) a dvojice "/*" a "*/" (lomítko+hvězdička --- hvězdička+lomítko).

Jednořádkový kometář:

<?
// skript kašle na to, co tady napíšu
?>

nebo

<?
# skriptu je úplně jedno, co tu bude
?>

Víceřádkový komentář

<?
/*
Nevím, jestli to, co napsáno v tomto skriptu bude fungovat.
Ještě se na to budu muset podívat.
*/
?>

Víceřádkovým komentářem můžete zakomentovat celý blok textu velice rychle, a také velice špatně. Pamatujte, že víceřádkové komentáře nelze vnořovat. První sekvence '*/' totiž celý komentář ukončí. Následující kód tedy skončí chybou (je to vidět už z obarvení kódu):

<?
/*
Chci to zakomentovat.
To by přece nemělo vadit.
  /*
  Ale díky "vnořenému" víceřádkovému komentáři
  ... už to vadí
  */
*/
?>

V dalším díle se podíváme na některé příkazy php, které bude lepší se naučit hned a na formátování výsledného kódu, který PHP vrací do prohlížeče.

Verze pro tisk

pridej.cz

 

DISKUZE

Oznaceni PHP kodu 31.5.2004 18:37 Jan Houštěk
  L Re: Oznaceni PHP kodu 31.5.2004 22:03 Petr Zajíc




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků
> Služby
Administrace serverů
Od 350 Kč/hod
Server housing
Od 1000 Kč/1U

30.7.2010 9:06 /MaReK Olšavský
Krátký článek pro pythonýry připomíná zlatá pravidla programování (vztažitelná i na jiné jazyky). Pokračujte odkazem na konci článku :-).
Přidat komentář

29.7.2010 14:39 /Radim Kolář
IBM vydala další z řady publikací pro studenty Getting started with open source development. Probírají se licence, obchodní modely, příklady OSS projektů a jak se zapojit do vývoje. Dodatek je věnován krátkému úvodu k DB2 databázi.
Přidat komentář

29.7.2010 7:44 /MaReK Olšavský
Při procesu akvizice SUN Microsystems Oraclem se mluvilo především o MySQL a Java platformě, ale Oracle získal mnohem více zajímavých produktů se širokou uživatelskou základnou, například VirtualBox, ke kterému má poněkud macešský přístup. Bude tu VirtualBox pro běžné uživatele, nebo se s ním máme pomalu rozloučit?
Komentářů: 1

29.7.2010 7:08 /MaReK Olšavský
Pokud se uživatelé distribucí Fedora a Ubuntu těšili na pozimní vydání, která měla přinést GNOME 3.0, mohou svá očekávání zmírnit, GNOME 3.0 bude opožděno, snad jen do března 2011.
Přidat komentář

28.7.2010 8:49 /MaReK Olšavský
Možná pro někoho může být překvapující, že CentOS má majoritní podíl mezi webservery. „Bezplatný RHEL“ trochu překvapivě předstihl vyzdvihovaný Debian i FreeBSD.
Komentářů: 5

   Více ...   Přidat zprávičku

> Poslední diskuze

29.7.2010 18:24 / Hynek (Pichi) Vychodil
Re: Kým vyzdvihovaný Debian?

29.7.2010 15:29 / Radim Kolář
Re: Ruchlost kompilace

29.7.2010 12:40 / Radim Kolář
Freebsd

29.7.2010 12:35 / Radim Kolář
mne pada

29.7.2010 12:35 / Slavomir
Rychla maska

Více ...

ISSN 1801-3805 | Prague hotels | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2010) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze