php zive - 11

"osudná chyba" (anglicky Fatal error). Kromě toho se skript ukončí,
takže text u příkazu echo už se nikdy nevypíse.

Nutno říci, že příkazy require a include mohou zkrachovat nejenom z
důvodu toho, že neexistují, ale také z jiných příčin. Velmi
častou příčinou jsou spatná přístupová práva, tedy skript nemá
práva na čtení souboru. To se dost často stává zejména na
linuxových serverech. Kromě toho může být soubor poničený, ale to
už spadá do kategorie hardwarových chyb.

Zamezení vícenásobného vložení souboru

V jednom předchozím příkladu jsem vložit jeden soubor třikrát. V
mnohých případech tomu naopak chceme zamezit. Tedy chceme, aby v
případě, kdy je tentýž soubor vkládám podruhé, potřetí, atd.,
aby se vložení ignorovalo. I na to se v PHP myslí a existují příkazy
include_once a require_once, které slouží pro vkládání pouze jednou.
Zkusme třeba použít nás předchozí příklad, kde doslo k
trojnásobnému vložení, ale namísto include použijme include_once.
Tedy soubor pocitej.php zůstane beze změny a příklad změníme takto:

Příklad 5. z 7. dílu

<?php
  $počet = 0;
  include_once "pocitej.php";
  include_once "pocitej.php";
  include_once "pocitej.php";
?>

Pokud si příklad zkusíte spustit, zjistíte, že k vložení dojde
pouze poprvé. Podruhé a potřetí se ignoruje.

Příkaz return - předčasné vypadnutí z vloženého souboru

Jestě zde uvedu příkaz return. Anglické slovo return znamená v
čestině návrat a to zcela vystihuje jeho funkci. Příkaz return v
kontextu vloženého souboru slouží k tomu, aby v tomto místě se
vkládání zastavilo a zbytek souboru se už nevložil. To je užitečné
hlavně ve spojení s podmínkami. Například následující příklad
použije vložený soubor k tomu, aby vypsal dopoledne větu "Těsís na
dnesní oběd?" Je to příklad trochu vyumělkovaný, ale demonstruje
příkaz return dobře.

Vložený soubor se bude jmenovat obed.php:

<?php
  if (date("A") == "PM")
    return;
  echo "Těsís na dnesní oběd?";
?>

Vlastní hlavní skript bude pak vypadat takto:

Příklad 6. z 7. dílu

<?php
  include "obed.php";
?>

Jak je vidět v příkladu, soubor pocitej.php nejdříve použije výraz
date("A"), který vrátí "AM" pro dopoledne a "PM" pro odpoledne. Pokud
je odpoledne, tedy výraz date("A") je roven "PM", pak konstrukce if
vykoná příkaz return. A ten ukončí vkládání, takže následující
příkaz echo už se nevloží. Pokud je dopoledne, vloží se i příkaz
echo a věta se vypíse.

Miloslav Ponkrác - 1.4.2004

V 8. dílu seriálu o PHP se bude mluvit o funkcích a se vsím, co s tím
souvisí.

Funkce - úvod

Funkce jsou v podstatě malé kusy skriptů, které je možné opakovaně
používat. To je asi nejjednodussí vysvětlení, co jsou to funkce. Ale
musí se k tomu postupně přidat spoustu dalsího výkladu, aby to bylo
kosér. Pro nejrychlejsí pochopení to chce asi první praktický
příklad:

Příklad 1. z 8. dílu

<?php
  function pozdrav()
  {
    echo "Ahoj!";
  }

  pozdrav();
  pozdrav();
?>

Jak je v příkladu vidět, každá funkce začíná klíčovým slovem
function. Za slovem function je název funkce. Každá funkce je
pojmenovaná, funkce v nasem příkladu se jmenuje pozdrav. Za jménem
funkce jsou kulaté závorky. V nasem případě jsou prázdné, ale
uvnitř mohou být parametry, jak uvidíme dále.

Protože funkce jsou jenom v podstatě kusy skriptu, je potřeba někam
ten kus skriptu zapsat. Ten se zapisuje mezi levou složenou závorku { a
pravou složenou závorku }. Může tam být libovolná řada příkazů,
v nasem případě je tam pouze příkaz echo, který vypíse "Ahoj!".

Pod funkcí v nasem příkladu je potom dvakrát použita nase funkce s
názvem ahoj. Název funkce v podstatě znamená, že jsme získali nový
příkaz s názvem pozdrav. Použijeme jej tak, že napíseme jméno
funkce, a za něj kulaté závorky. Jako každý příkaz je pak potřeba
ukončit vse středníkem.

Když to shrnu, funkce se sestává ze dvou částí. První část, to je
to, co je za klíčovým slovem function až do konce pravé složené
závorky }, a to se nazývá definice funkce. Tím určujeme, co funkce
vůbec bude provádět. Druhá část je volání funkce. To je ten zápis
pozdrav();, který způsobuje, že dojde k vykonání toho malého kousku
skriptu.

V nasem případě každé volání funkce pozdrav vypíse ahoj. Protože
voláme funkci pozdrav dvakrát, vykoná se dvakrát i ten malý kousek
skriptu v definici funkce pozdrav. Protože v definici funkce pozdrav je
vypsání textu "Ahoj!", vypíse se tedy dvakrát i tento text.

Funkce jsou nesmírně užitečnými pomocníky zejména pro
zpřehledňování kódu. Kromě toho umožňují napsat určitou činnost
jenom jednou, ale nechat vykonat mnohokrát.

Funkce - parametry

Uvedl jsem funkci pozdrav, ale funkci je možné předat i nějaké
hodnoty, tzv. parametry. V následujícím příkladě předám funkci
dvě čísla a funkce s názvem sečti vypíse jejich součet.

Příklad 2. z 8. dílu

<?php
  function sečti($a, $b)
  {
    echo $a, " + ", $b, " = ", $a+$b, "";

Ještě nehodnoceno. Buďte první :-)

Strany: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
(c)2011 Edgehunt Corporation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .