|
|
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.
|
Tworzenie referencji wewnątrz konstruktora może prowadzić do
dziwnych efektów. Ten rozdział ma pomóc w unikaniu takich
problemów.
Sprawdźmy, czy jest jakaś różnica pomiędzy $bar1, który jest tworzony przy pomocy
operatora przypisania =, a
$bar2, który został stworzony
używając operatora referencji =&...
Wydaje się, że nie ma żadnej różnicy, ale na prawdę jest
jedna, i to bardzo istotna: $bar1 i
$globalref[0] NIE są referencjami,
NIE są tą
samą zmienna. Dzieje się tak, ponieważ "new" nie zwraca
domyślnie referencji, ale kopię.
Notatka: Zwracanie kopii zamiast referencji nie
powoduje utraty wydajności (od PHP 4 używane jest zliczanie
referencji). Jednakże zazwyczaj lepiej jest pracować
poprostu z kopiami zamiast referencji, poniewać tworzenie
referencji zabiera trochę czasu, podczas gdy tworzenie
kopii obiektów teoretycznie w ogóle nie zabiera czasu
(chyba że któraś z tych zmiennych jest dużą tablicą lub
obiektem i jedno z nich ulega zmianie, po czym tej samej
zmianie ulegają pozostałe zmienne; wtedy lepiej jest użyć
referencji do zmieniania ich równolegle).
Aby udowodnić to, co zostało zapisane powyżej,
przyjrzyjmy się poniższemu programowi.
Ustatni przykład. Postaraj się go zrozumieć/
|