|
|
PHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor), pierwotnie nazwany Personal
Home Page - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w
tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do
dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany.
Udostępniany jest na zasadach licencji open-source. Jego składnia bazuje na językach C, Java i Perl.
SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz
do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi
zarządzania bazą danych DBMS.
Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z
serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z
użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a.
Apache jest otwartym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD,
Microsoft Windows). Po angielsku słowo Apache wymawia się epaczi, co brzmi tak samo jak a patchy (server), co było
określeniem tego serwera we wczesnym stadium jego rozwoju w 1995 roku, kiedy był on głównie zbiorem poprawek (patch)
nałożonych na serwer HTTP o nazwie NCSA.
Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W maju 2003 jego udział wśród serwerów wynosił 62%. W
połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych
środowisk w firmach oferujących miejsce na serwerach sieciowych.
|
Informacje mogą być przekazywane do funkcji przez listę
argumentów, która jest separowaną przecinkami listą
wyrażeń.
PHP obsługuje przekazywanie argumentów przez wartość
(domyślnie), przez
referencję , i wartości
domyślne argumentów. Listy argumentów o zmiennej długości
są obsługiwane tylko w PHP 4 i nowszych; zobacz rozdział
Listy
argumentów o zmiennej długości i opisy funkcji func_num_args(), func_get_arg(), i func_get_args() aby uzyskać więcej
informacji. Podobny efekt może być uzyskany w PHP 3 przez
przekazywanie tablicy argumentów do funkcji.
Przykład 17-5. Przekazywanie tablic do
funkcji
function pobiera_tablice($wejscie)
{
echo "$wejscie[0] + $wejscie[1] = ", $wejscie[0]+$wejscie[1];
} |
|
Domyślnie, argumenty funkcji są przekazywane przez wartość
(a więc jeśli zmienisz wartość argumentu wewnątrz funkcji,
nie zmieni się ona poza funkcją). Jeśli chcesz pozwolić
funkcji na modyfikację swoich argumentów, musisz przekazać je
przez referencję.
Jeśli chcesz, aby argumenty były zawsze przekazywane przez
referencję, przed nazwą zmiennej w definicji funkcji wstaw
znak ampersand (&):
Przykład 17-6. Przekazywanie argumentów przez
referencję
<?php function dodaj_cos_extra(&$string)
{
$string .= 'i coś extra.';
} $str = 'To jest string, ';
dodaj_cos_extra($str);
echo $str; // wyświetla 'To jest string string, i coś extra.'
?> |
|
Funkcja może definiować, podobnie jest w C++, wartości
domyślne dla argumentów skalarnych.
Przykład 17-7. Użycie domyślnych wartości
argumentów
<?php function rob_kawe ($typ = "cappucino")
{
return "Robię kubek $typ.\n";
}
echo rob_kawe ();
echo rob_kawe ("espresso"); ?> |
|
Powyższy kawałek kody wyświetli:
Robię kubek cappucino.
Robię kubek espresso.
|
PHP pozwala także na korzystanie z tablic i specjalnego
typu NULL jako wartości domyślnych.
Przykład 17-8. Używanie nieskalarnych typów
jako wartości domyślne
<?php function rob_kawe($typy = array("cappuccino"), $urzadzenie = NULL)
{
$urzadzenie = is_null($urzadzenie) ? "rece" : $urzadzenie;
return "Robie kubek ".join(", ", $types)." poprzez $urzadzenie.\n";
}
echo rob_kawe();
echo rob_kawe(array("cappuccino", "lavazza"), "ekspres"); ?> |
|
Domyślna wartość musi być stałym wyrażeniem, nie (na
przykład) zmienną. członkiem klasy lub wywołaniem
funkcji.
Zauważ, że używając domyślnych argumentów, argumenty
zawierające wartości domyślne powinny być po prawej stronie
tych nie zawierających wartości domyślnych; w przeciwnym
przypadku funkcja może nie działać tak jak się tego
spodziewałeś. Przedstawione to zostało na poniższym
przykładzie.
Przykład 17-9. Błędne zastosowanie domyślnych
argumentów funkcji
<?php function robjogurt ($typ = "acidophilus", $smak)
{
return "Robię miskę $typ $smak.\n";
}
echo robjogurt ("malinowy"); // nie działa tak jak się spodziewaliśmy
?> |
|
Powyższy przykład wyświetli:
Warning: Missing argument 2 in call to robjogurt() in
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Robię miskę malinowy .
|
Porównaj powyższy przykład z tym:
Przykład 17-10. Poprawne użycie domyślnych
argumentów funkcji
<?php function robjogurt ($smak, $typ = "acidophilus")
{
return "Robię miskę $type $flavour.\n";
}
echo robjogurt ("malinowy"); // działa tak jak się spodziewaliśmy
?> |
|
Powyższy kod wyświetli:
Robię miskę acidophilus malinowy.
|
Notatka: Od PHP 5, domyślne argumenty funkcji
mogą być przekazywane przez referencję.
PHP 4 i nowsze obsługują listy o zmiennej długości w
funkcjach zdefiniowanych przez użytkownika. Jest naprawdę
prostę przy użyciu funkcji func_num_args(), func_get_arg() i func_get_args().
Nie wymagana jest żadna specjalna składnia. Listy
argumentów mogą być ciągle jawnie podane przy definicji
funkcji i będą się zachowywać normalnie.
|