How to read a function definition
Credo che la risorsa più importante di un linguaggio sia la sua documentazione ufficiale. Saperla leggere è pertanto di fondamentale importanza.
Prerequisito per la comprensione di questo capitolo è la conoscenza di base dei types.
Ogni funzione del manuale è documentata per un rapido consultazione. Sapere come leggere e capire il testo renderà l'apprendimento di PHP molto più facile. Anziché fare affidamento su esempi o sul taglia/incolla, ognuno dovrebbe sapere come leggere le definizioni delle funzioni (prototipi). Cominciamo:
Come primo esempio prendiamo la funzione strlen()
:
<?php
strlen
(PHP 4, PHP 5)
strlen -- Get string length
Description
int strlen ( string $string )
Returns the length of given string.
?>
Spiegazione della definizione della funzione
Elemento | Descrizione |
---|---|
strlen | Il nome della funzione |
(PHP 4, PHP 5) | strlen() è presente da tutte le versione di PHP 4 e di PHP 5 |
int | Il tipo di valore restituito dalla funzione, che è un integer. |
(string $string) | Il primo (ed in questo caso l'unico) parametro/argomento per questa funzione è chiamato "string" ed è una string. |
Potremmo riscrivere la definizione della precedente funzione in modo generico come:
returned type function_name (parameter type parameter name)
Molte funzioni richiedono più parametri. La dichiarazione di in_array() è la seguente:
bool in_array (mixed $needle, array $haystack [, bool $strict = false])
Cosa significa?
in_array() restituisce un valore boolean, TRUE in caso di successo( se needle viene trovato nella array haystack) o FALSE in caso di fallimento (needle non viene trovato in haystack)
Il primo argomento della funzione è chiamto needle e può essere di molti diversi tipi, così lo indichiamo come "mixed". Questa valore 'mixed' needle può essere sia di tipo scalare che un array.
haystack (l'array in cui cercare) è il secondo argomento.
Il terzo argomento, strict, è opzionale. Tutti i parametri opzionali son fra parentisi quadre. Il valore di default di strict è FALSE.
Il simbolo "&" anteposto al nome di un argomento consente al parametro di essere passato per reference.
int preg_match ( string $pattern , string $subject [, array &$matches
[, int $flags = 0 [, int $offset = 0 ]]] )
In questo esempio possiamo vedere che il terzo parametro opzionale, &$matches, sarà passato per reference.
Ci sono anche funzioni con informazioni più complesse sulle versioni di PHP. Prendiamo come esempio html_entity_decode():
(PHP 4 >= 4.3.0, PHP 5)
Significa che questa funzione è disponibile dalla versione 4.3.0 di PHP.