Forum und email
Jak číst definice funkcí (prototypy)

Jak číst definice funkcí (prototypy)

Každá funkce v manuálu je pro rychlou referenci zdokumentována. Když víte, jak číst a chápat tyto texty, naučíte se PHP mnohem snadněji. Namísto spoléhání na příklady nebo na vystřihování/vkládání, by měl každý vědět, jak číst definice (prototypy) funkcí. Nuže, začněme:

Prerekvizita: Zakladní pochopení typů: Přestože PHP je slabě typový jazyk, je důležité mít základní znalosti o typech, protože mají důležitý význam.

Definice funkcí nám říkají, jaký typ hodnoty je vracen. Jako náš první příklad použijme definici pro funkci strlen():

strlen

(PHP 3, PHP 4, PHP 5)
strlen -- Vrací délku řetězce

Popis
int strlen ( string str )

Vrací délku řetězce.

Tabulka T-1. Vysvětlení definice funkce

ČástPopis
strlen Název funkce.
(PHP 3, PHP 4, PHP 5) strlen() je k dispozici ve všech verzích PHP 3, PHP 4 a PHP 5
int Typ hodnoty, který tato funkce vrací, což je integer (např. délka řetězce je měřena číselně).
( string str ) První (a v tomto případě také jediný) parametr/argument pro tuto funkci je nazván str a je typu string.

Výše uvedenou definici funkce může genericky přepsat:

návratový typ    název funkce    ( typ parametru   název parametru )

Mnoho funkcí má více parametrů, jako např. in_array(). Prototy pak vypadá následovně:

bool in_array ( mixed needle, array haystack [, bool strict])

Co to znamená? in_array() vrací hodnotu typu boolean, TRUE při úspěchu (je-li parametr needle nalezen v haystack), nebo FALSE při selhání (needle se v haystack) nenajde). První parametr je nazván needle a může být mnoha různých typů, proto ho označujeme "mixed" (smíšený). Tento smíšený parametr needle (tj. "co hledáme") může být jak skalární hodnota (string, integer, nebo float), tak pole. Parametr haystack (pole, ve kterém hledáme) je druhý parametr. Třetí nepovinný parametr je nazván strict. Všechny nepovinné parametry se uvádějí v [ hranatých závorkách ]. Manuál uvádí, že parametr strict má výchozí (boolovskou) hodnotu FALSE. O tom, jak každá z funkcí pracuje, se píše na příslušných stránkách manuálu.

Existují také funkce se složitější informací o verzi PHP. Vezměme si jako příklad funkci html_entity_decode():

(PHP 4 >= 4.3.0, PHP 5)

To znamená, že tato funkce nebyla dostupná v PHP 3, a je dostupná jen ve vydaných verzích od PHP 4.3.0.