Projektowanie stron internetowych - PHP


Operacje na plikach

Posted in Uncategorized by admin on the February 15th, 2007

Obs艂uga plik贸w jest zawarta we wszystkich nowoczesnych j臋zykach programowania. Zdolno艣膰 do tworzenia, czytania, zapisu i innych operacji na plikach lub innych obiektach systemu plik贸w jest niezb臋dna do zrealizowania obs艂ugi sesji i serializacji. Do obs艂ugi plik贸w i innych obiekt贸w systemu plik贸w PHP posiada funkcje podobne do tych spotykanych w j臋zyku C. Tak jak C, w funkcjach s艂u偶膮cych do odczytu i zapisu, PHP u偶ywa uchwyt贸w plik贸w oraz pozwala na tworzenie uchwyt贸w (pozwalaj膮cych na operacje innymi typami strumieni danych, takimi jak gniazda i potoki). Zdolno艣膰 ta powoduje, 偶e r贸wnie 艂atwo mo偶na zapisa膰 dane do pliku jak r贸wnie偶 wys艂a膰 je poprzez potok do innego programu co bardzo u艂atwia projektowanei stron internetowych.

Odczyt i zapis plik贸w聽

Jedn膮 z g艂贸wnych r贸偶nic przy projektowaniu stron internetowych w stosunku do zwyk艂ych aplikacji, jest spos贸b utrzymywania stanu aplikacji. W przypadku zwyk艂ego programu, u偶ytkownik uruchamia go, wykonuje kilka komend i ko艅czy dzia艂anie programu. W czasie pracy programu stan aplikacji jest utrzymywany w pami臋ci. W aplikacjach opartych o sie膰 WWW stan musi by膰 utrzymywany przez serwer WWW, poniewa偶 klientem jest zwykle prosta przegl膮darka WWW. W chwili obecnej wystarczy wiedzie膰, 偶e do utrzymywania stanu aplikacji i tworzenia innych mechanizm贸w przechowywania danych mo偶na u偶y膰 plik贸w.

Wa偶ne jest, aby u偶ywaj膮c plik贸w, pami臋ta膰 o zagadnieniach bezpiecze艅stwa. Poniewa偶 aplikacja b臋dzie dzia艂a膰 w kontek艣cie serwera WWW, pliki b臋d膮 mia艂y uprawnienia u偶ytkownika przy pomocy kt贸rego uruchamiany jest serwer WWW. W przypadku Apache domy艣lnie jest to u偶ytkownik nobody, kt贸rego uprawnienia ograniczaj膮 dost臋p przez aplikacj臋 do obiekt贸w systemu plik贸w. Nale偶y uwa偶a膰, aby korzystaj膮c z plik贸w nie naruszy膰 systemu bezpiecze艅stwa serwera WWW. W wi臋kszo艣ci przypadk贸w u偶ycie bazy danych zamiast plik贸w jest o wiele bardziej bezpieczne i praktyczne. Projektowanie stron internetowych korzystajacych z bazy danych wymaga jednak dodatkowo znajomo艣ci jezyka SQL. Oczywi艣cie istnieje wiele sytuacji gdy narzut czasowy wprowadzany przez baz臋 danych lub wymagania aplikacji powoduj膮, 偶e pliki s膮 jedynym sensownym rozwi膮zaniem.

Na wydruku 4.1 pokazane zosta艂o w jaki spos贸b mo偶na zrealizowa膰 liczniki dost臋pu do stron witryny. Do tego celu wykorzystane zosta艂y podstawowe operacje na plikach, otwarcie, odczyt, zapis i zamkni臋cie prostego pliku 艣ladu. W przyk艂adzie tym nie zosta艂y wykorzystane wszystkie dost臋pne w PHP funkcje operuj膮ce na plikach. Bardziej szczeg贸艂owy opis wszystkich funkcji znajduj膮 si臋 w skorowidzu funkcji na ko艅cu ksi膮偶ki.

Wydruk 4.1. U偶ycie plik贸w do zliczania odwo艂a艅 do stron witryny

<?php

/*

Plik ten mo偶e by膰 do艂膮czany do dowolnego skryptu PHP. Powoduje to automatyczne zliczanie odwo艂a艅 do strony.

U呕YCIE: Wystarczy do艂膮czy膰 ten plik. Tworzy on zmienn膮 globaln膮 $aPageAccessCount, kt贸ra zawiera ilo艣膰 odwo艂a艅 do skryptu kt贸ry do艂膮cza ten plik.

*/

error_reporting( 0 );
$aLogFilePath = “/www/auto_logs/access.log”;
$aCountArray = array();
// Sprawdzenie czy plik istnieje
if ( is_file( $aLogFilePath ) == True )
{
// Otwarcie i odczytanie pliku. Format pliku to oddzielone tabulatorami
// pary opisuj膮ce kolejne skrypty:
// 艣cie偶ka-do-skryptu licznik
$aFile = fopen( $aLogFilePath, “r” );
while( !feof( $aFile ) )
{
$aLine = fgets( $aFile, 1024 );
$aTempArray = explode( “\t”, $aLine );
if ( count( $aTempArray ) == 2 )
{
$aCountArray[$aTempArray[0]] = $aTempArray[1];
}
}
fclose( $aFile );

}

// Ustawienie globalnego licznika odwo艂a艅 do strony
// i uaktualnienie tablicy temp
$aPageAccessCount = $aCountArray[$PATH_TRANSLATED] + 1;
$aCountArray[$PATH_TRANSLATED] = $aPageAccessCount;
// Zapis ca艂ej tablicy do pliku
$aFile = fopen( $aLogFilePath, “w” );
foreach ( $aCountArray as $aKey => $aValue )
{
fputs( $aFile, “$aKey\t$aValue\n” );
}
fclose( $aFile );

?>

Na wydruku 4.1 pokazujemy u偶ycie jednego pliku do przechowywania licznik贸w odwo艂a艅 do dowolnej liczby stron witryny. Nie jest to efektywny spos贸b, ale pokazuje ide臋 takiego licznika. W skrypcie tym sprawdzamy za pomoc膮 funkcji is_file() czy istnieje plik 艣ladu. Je偶eli plik ten istnieje, jego kolejne linie s膮 odczytywane i analizowane. Ka偶da linia zawiera pe艂n膮 艣cie偶k臋 dost臋pu do skryptu, znak tabulacji i warto艣膰 licznika. Linia taka jest dzielona przy pomocy funkcji explode() na nazw臋 skryptu i warto艣膰 licznika a nast臋pnie warto艣ci te s膮 zapisywane w tablicy asocjacyjnej. Je偶eli chcesz, mo偶esz u偶y膰 tej tablicy do wy艣wietlenia licznik贸w dla wszystkich stron witryny a nie tylko bie偶膮cej strony. Po wype艂nieniu tablicy uaktualniany jest licznik odwo艂a艅 do bie偶膮cej strony (rozpoznawanej przy u偶yciu zmiennej globalnej PHP $PATH_TRANSLATED) i warto艣膰 ta jest przypisywana do zmiennej $aPageAccessCount. Na koniec ca艂a tablica jest zapisywana do pliku 艣ladu.

Na wydruku 4.2 pokazane jest strona demonstruj膮ca jak 艂atwo mo偶na u偶y膰 tego licznika. Je偶eli szukasz takiego mechanizmu do twojej witryny, nale偶y pami臋ta膰, 偶e jest to bardzo nieefektywne rozwi膮zanie. Bardziej efektywne jest odczytywanie i zapis tylko jednej warto艣ci a nie ca艂ego pliku.

Wydruk 4.2. U偶ycie skryptu z wydruku 4.1

<?php

include( “auto_counter.php” );

?>

<html>

<head>

<title>Strona testowa 1</title>

</head>

<body>

Strona ta by艂a ogl膮dana <b>

<?php

print( $aPageAccessCount );

?>

</b> razy.

</body>

</html>

Comments Off

Cookies a projektowanie stron internetowcyh

Posted in Uncategorized by admin on the February 15th, 2007

Z powodu trwaj膮cej debaty na temat u偶ycia cookie, wi臋kszo艣膰 programist贸w stron internetowych i u偶ytkownik贸w jest zaznajomiona z koncepcj膮 cookie. Cookie s膮 plikami tekstowymi zapisanymi na komputerze klienta i s膮 one ze swojej natury niewinne. Jednak wielu u偶ytkownik贸w nie przyjmuje cookie wys艂anych do przegl膮darek z powodu plotek na temat ich wykorzystania. Je偶eli twoja aplikacja opiera swoje dzia艂anie na cookie, niekt贸rzy u偶ytkownicy nie b臋d膮 mogli jej u偶ywa膰. Jak wiadomo projektowanie stron internetowych cz臋sto wymaga kompromis贸w.聽 Jednak je偶eli korzystasz z cookie, ale nie wymagasz ich do prawid艂owej pracy, twoja aplikacja b臋dzie dzia艂a艂a z wi臋kszo艣ci膮 przegl膮darek.

PHP posiada tylko jedna funkcj臋 przeznaczon膮 do tworzenia cookie, setcookie(). Poniewa偶 cookie s膮 wysy艂ane jako cz臋艣膰 nag艂贸wka HTTP, funkcja setcookie() musi by膰 wywo艂ana przed wys艂aniem jakichkolwiek danych do przegl膮darki lub nale偶y zastosowa膰 buforowanie wyj艣cia w celu op贸藕nienia wysy艂ania danych do przegl膮darki do chwili zdefiniowania wszystkich cookie. To samo ograniczenie obowi膮zuje r贸wnie偶 dla funkcji header().

Dowolne cookie odes艂ane do aplikacji przez przegl膮dark臋 jest automatycznie konwertowane na zmienn膮 PHP tak samo, jak dzieje si臋 to w przypadku metod GET i POST. Cookie mog膮 przenosi膰 warto艣ci skalarne jak r贸wnie偶 tablice warto艣ci. Funkcja setcookie() jest zdefiniowana w spos贸b nast臋puj膮cy:

int setcookie( string nazwa, string warto艣膰, int czas, string 艣cie偶ka, string domena, int bezpieczny )

Wszystkie argumenty funkcji poza nazw膮 s膮 opcjonalne. Je偶eli funkcja jest wywo艂ana tylko z nazw膮, cookie o podanej nazwie jest usuwane. Dowolny z ci膮g贸w mo偶e zosta膰 opuszczony podaj膮c pusty ci膮g (“”). Dowolna warto艣膰 numeryczna mo偶e zosta膰 opuszczona podaj膮c warto艣膰 zero. Argument czas jest standardowym czasem z systemu Unix w postaci liczby, kt贸r膮 mo偶na uzyska膰 jako wynik funkcji mktime() lub time(). Parametr bezpieczny wskazuje, 偶e cookie mo偶e by膰 przesy艂ane jedynie przez po艂膮czenie bezpieczne (HTTPS).

Nale偶y pami臋ta膰 o nast臋puj膮cych pu艂apkach i cz臋stych b艂臋dach u偶ycia cookie:

  • Ustawione cookie nie b臋d膮 widoczne w skrypcie do czasu jego powt贸rnego za艂adowania.
  • Przegl膮darki r贸偶nie obs艂uguj膮 cookie. Sprawd藕 aplikacj臋 na mo偶liwie du偶ej ilo艣ci przegl膮darek.
  • Ka偶da przegl膮darka przechowuje cookie niezale偶nie. Oznacza to, 偶e je偶eli u偶ytkownik obejrzy witryn臋 przy u偶yciu jednej przegl膮darki i zostanie ustawione cookie, to cookie nie b臋dzie dost臋pne, je偶eli u偶ytkownik ponownie obejrzy witryn臋 za pomoc膮 innej przegl膮darki.

Wi臋cej og贸lnych informacji na temat cookie mo偶na znale藕膰 w specyfikacji cookie firmy Netscape, kt贸ra jest dost臋pna pod adresem http://www.netscape.com/newsref/std/cookie_spec.html.

W poprzedniej wersji PHP je偶eli chcia艂e艣 ustawi膰 wiele cookie za pomoc膮 jednego skryptu, musia艂e艣 wywo艂ywa膰 setcookie() w odwrotnej kolejno艣ci do tej, w jakiej chcia艂e艣 obs艂ugiwa膰 cookie. Na przyk艂ad, je偶eli chcia艂e艣 usun膮膰 cookie a nast臋pnie ustawi膰 nowe o tej samej nazwie, nale偶a艂o najpierw wywo艂a膰 setcookie(), aby ustawi膰 now膮 warto艣膰 a nast臋pnie usun膮膰 poprzedni膮 warto艣膰. W PHP4 zosta艂o to usuni臋te i dzi臋ki temu projektowanie stron internetowych wykorzystujacych cookie jest 艂atwiejsze. Nale偶y wywo艂ywa膰 setcookie() w takiej kolejno艣ci jak si臋 spodziewasz, 偶e b臋d膮 przetwarzane przez przegl膮dark臋.


Comments Off

Typy danych

Posted in Uncategorized by admin on the February 15th, 2007

PHP posiada nast臋puj膮ce typy: liczby zmiennoprzecinkowe, liczby ca艂kowite, ci膮gi, tablice i obiekty. Typ zmiennej jest ustalany w oparciu o kontekst w jakim jest u偶yta zmienna i nie jest on jawnie ustalany przez programist臋. Jest to wa偶na cecha o kt贸rej nale偶y pami臋ta膰 podczas programowania aplikacji PHP, poniewa偶 niejawna konwersja typ贸w mo偶e spowodowa膰 trudne do odnalezienia b艂臋dy. Na przyk艂ad poni偶sza instrukcja jest prawid艂owa i spowoduje wy艣wietlenie liczby 9:

print( 3* “3 ma艂e 艣winki”);

Aby mo偶na by艂o zapanowa膰 nad typami, PHP posiada funkcje gettype() i settype() oraz kilka funkcji przeznaczonych dla okre艣lonych typ贸w, na przyk艂ad is_integer() lub is_array(). W skorowidzu funkcji na ko艅cu ksi膮偶ki znajduje si臋 pe艂ne om贸wienie tych funkcji. Teraz zostanie opisany ka偶dy z typ贸w zmiennych (opr贸cz obiekt贸w). Obiekty PHP zostan膮 opisane w dalszej cz臋艣ci rozdzia艂u.

Liczby 鈥 ca艂kowite i zmiennoprzecinkowe

Liczby ca艂kowite mo偶na podawa膰 u偶ywaj膮c notacji dziesi臋tnej, 贸semkowej i szesnastkowej. Liczby zmiennoprzecinkowe mo偶na podawa膰 u偶ywaj膮c notacji zwyk艂ej lub zapisu naukowego. Na poni偶szym wydruku pokazana jest sk艂adnia PHP dla wszystkich tych notacji.

Wydruk 2.4. Reprezentacja liczb

<?php

$int1 = 523;// liczba dziesi臋tna

$int2 = -523;// dziesi臋tna ujemna

$int3 = 01013;// 贸semkowa reprezentacja liczby 523

$int4 = 0×20B;// szesnastkowa reprezentacja liczby 523

$float1 = 523.197;// zwyk艂y zapis liczby zmiennoprzecinkowej

$float2 = 5.23197e2;// notacja naukowa liczby zmiennoprzecinkowej

/* Wypisanie wszystkich liczb.

聽聽 Wy艣wietla “523, -523, 523, 523, 523.197, 523.197″. */

print( “$int1, $int2, $int3, $int4, $float1, $float2<br>” );

?>

Ci膮gi

Ci膮gi w PHP s膮 ograniczane apostrofami () lub cudzys艂owami (). Zapisy te r贸偶ni膮 si臋 sposobem interpretacji ci膮gu. Je偶eli ci膮g jest otoczony cudzys艂owami, zmienne zapisane w ci膮gu zostaj膮 zamienione na ich warto艣ci. Aby zapisa膰 znaki specjalne w ci膮gach otoczonych cudzys艂owami, nale偶y u偶y膰 znaku lewego uko艣nika (\), tak jak zosta艂o to pokazane w tabeli 2.1.

Tabela 2.1. Znaki specjalne w ci膮gach otoczonych cudzys艂owami

Sekwencja znak贸w

Znaczenie

\n

nowa linia

\r

powr贸t karetki (CR)

\t

tabulacja

\\

lewy uko艣nik

\”

cudzys艂贸w

\$

znak dolara

W ci膮gach otoczonych apostrofami zmienne nie s膮 zast臋powane. Jedynymi dopuszczalnymi sekwencjami steruj膮cymi s膮 te oznaczaj膮ce lewy uko艣nik (\\) i apostrof (\’). Sekwencje te pozwalaj膮 na wpisanie do ci膮gu znaku apostrofu i lewego uko艣nika. Ci膮gi mog膮 by膰 艂膮czone przy u偶yciu operatora kropki (.). Dok艂adniej jest to opisane w cz臋艣ci rozdzia艂u na temat operator贸w. Podobnie jak w j臋zyku C, mamy dost臋p do poszczeg贸lnych znak贸w ci膮gu, traktuj膮c go jak tablic臋 znak贸w.

Wydruk 2.5. Przyk艂ad operacji na ci膮gach

<?php

$aStr1 = “To jest zwyk艂y ci膮g.”;

print( “$aStr1<br>” );

$aStr2 = “Thatcher”;

print( “$aStr2<br>” );

$aStr3 = “Nazywam si臋 $aStr2″;

聽聽聽聽聽聽聽 // $aStr3 = “Nazywam si臋 Thatcher”

print( “$aStr3<br>” );

$aStr4 = “Nazywam si臋 \$aStr2″;

聽聽聽聽聽聽聽 // $aStr4 = “Nazywam si臋 $aStr2″

print( “$aStr4<br>” );

$aStr5 = ‘Nie rozwijaj \’$aStr2\”;

聽聽聽聽聽聽聽 // $aStr5 = “Nie rozwijaj ‘$aStr2′”

print( “$aStr5<br>” );

聽聽聽聽聽 // wypisuje “Nazywam si臋 Thatcher i Nazywam si臋 $aStr2″

print( “$aStr3″ . ” i ” . “$aStr4″ );

?>

Z powodu ulotnej natury typ贸w w PHP, zmienne mog膮 zmienia膰 sw贸j typ w zale偶no艣ci od kontekstu w jakim wyst臋puj膮. Liczby mog膮 by膰 konwertowane niejawnie na ci膮gi, je偶eli zostan膮 u偶yte jako argument operatora operuj膮cego na ci膮gach. Ci膮gi mog膮 r贸wnie偶 zosta膰 skonwertowane na liczby, je偶eli b臋d膮 u偶yte w wyra偶eniach matematycznych. Je偶eli PHP pr贸buje skonwertowa膰 ci膮g na liczb臋, korzysta z nast臋puj膮cych zasad:

  • Je偶eli ci膮g zaczyna si臋 od danych numerycznych, zostan膮 one skonwertowane na liczb臋.
  • Je偶eli ci膮g nie zaczyna si臋 prawid艂owymi danymi liczbowymi, warto艣ci膮 ci膮gu b臋dzie zero (0).
  • Je偶eli dane numeryczne zawieraj膮 jeden ze znak贸w .,e lub E, warto艣膰 b臋dzie liczb膮 zmiennoprzecinkow膮 a w przeciwnym przypadku liczb膮 ca艂kowit膮.

Prawid艂owymi danymi numerycznymi s膮: opcjonalny znak po kt贸rym nast臋puje jedna lub wi臋cej cyfr, opcjonalna kropka dziesi臋tna oraz opcjonalny znak wyk艂adnika. Znakiem wyk艂adnika jest 鈥瀍鈥 lub 鈥濫鈥, po kt贸rym nast臋puje jedna lub wi臋cej liczb.

Wydruk 2.6. Niejawna konwersja pomi臋dzy ci膮giem i liczb膮

<?php

$aVar = 123;

print( “\$aVar = $aVar, typ = ” . gettype( $aVar ) . “<br>” );

$aVar2 = $aVar . ” niejawnie skonwertowane do ci膮gu”;

print( “\$aVar2 = $aVar2, typ = ” . gettype( $aVar2 ) . “<br>” );

$aVar3 = $aVar2 + 1;// niejawna konwersja na liczb臋 ca艂kowit膮

print( “\$aVar3 = $aVar3, typ = ” . gettype( $aVar3 ) . “<br>” );

$aVar3 = $aVar2 * 1.1;// niejawna konwersja na liczb臋 zmiennoprzecinkow膮

print( “\$aVar3 = $aVar3, typ = ” . gettype( $aVar3 ) . “<br>” );

$aNotNumber = “abc”;

$aVar4 = $aNotNumber * 1; // pr贸ba konwersji na liczb臋, zwracane jest 0

print( “\$aVar4 = $aVar4, typ = ” . gettype( $aVar4 ) . “<br>” );

$aIsNumber = “3 ma艂e 艣winki”;

$aVar5 = $aIsNumber + 1; // konwersja $aIsNumber na liczb臋 3

print( “\$aVar5 = $aVar5, typ = ” . gettype( $aVar5 ) . “<br>” );

?>

Tablice

Tablice w PHP zachowuj膮 si臋 zar贸wno tak jak tablice indeksowane (wektory) oraz jak tablice mieszaj膮ce (asocjacyjne). PHP pozwala r贸wnie偶 na tworzenie tablic wielowymiarowych. Z powodu unikalnej konstrukcji tablic w PHP, mo偶na indeksowa膰 jeden wymiar tablicy wielowymiarowej liczbami a inny w spos贸b asocjacyjny.

Tablice mog膮 by膰 tworzone przy u偶yciu funkcji list() lub array() albo poprzez jawne podanie ka偶dej z warto艣ci. W skorowidzu funkcji na ko艅cu ksi膮偶ki zosta艂y opisane wszystkie funkcje do manipulacji tablicami.

Jednowymiarowe tablice mog膮 zamieniane w ci膮gach przez mechanizm zast臋powania zmiennych na warto艣ci w spos贸b identyczny jak wszystkie inne zmienne. W przypadku tablic wielowymiarowych nale偶y u偶y膰 nawias贸w klamrowych do zaznaczenia indeks贸w. Poni偶szy wydruk pokazuje przyk艂ady u偶ycia r贸偶nych typ贸w tablic.

Wydruk 2.7. Inicjowanie i u偶ycie tablic

<?php

// Jawne tworzenie prostej tablicy

$a[0] = “Ryan”;

$a[1] = “Scott”;

$a[] = “Randall”; // jawne przypisanie do indeksu (klucza) 2

$a[] = “Sherie”;// jawne przypisanie do indeksu (klucza) 3

print( “$a[3], $a[2], $a[1], $a[0]<br>” );

// Tworzenie tablicy asocjacyjnej

$color[”niebieski”] = “#0000FF”;

$color[”zielony”] = “#00FF00″;

$color[”czerwony”] = “#FF0000″;

print( “Warto艣膰 szesnastkowa koloru czerwonego wynosi {$color[’czerwony’]}<br>” );

// Tworzenie tej samej co poprzedniej tablicy asocjacyjnej

// tylko nieco pro艣ciej

$color = array( “niebieski”=>“#0000FF”,

聽聽聽聽聽聽聽聽聽 “zielony”=>“#00FF00″,

聽聽聽聽聽聽聽聽聽 “czerwony”=>“#FF0000″ );

print( “Warto艣膰 szesnastkowa koloru zielonego wynosi {$color[’zielony’]}<br>” );

// R臋czne tworzenie tablicy wielowymiarowej

$m[0][0] = “Zero Zero”;

$m[0][1] = “Zero Jeden”;

print( “Warto艣ci膮 \$m[0][1] jest {$m[0][1]}<br>” );

// R臋czne tworzenie asocjacyjnej tablicy wielowymiarowej

$counties[”Idaho”][0] = “Ada”;

$counties[”Idaho“][1] = “Adams“;

$counties[”Idaho“][2] = “Bannock”;

$counties[”Arizona“][0] = “Apache”;

$counties[”Arizona“][1] = “Cochise”;

$counties[”Arizona“][2] = “Coconino”;

print( “\$counties[’Idaho‘][0] = {$counties[’Idaho‘][0]}<br>” );

?>

Comments Off

Og贸lne informacje na temat sk艂adni

Posted in Uncategorized by admin on the February 15th, 2007

Poniewa偶 PHP jest zwykle wbudowywany w kod HTML istniej膮 specjalne znaczniki ograniczaj膮ce bloki PHP. U偶ycie tych znacznik贸w jest nazywane czasem wyj艣ciem z trybu HTML.

Sposoby oznaczania bloku kodu PHP w HTML:

<? echo “u偶ycie kr贸tkich znacznik贸w PHP do wyj艣cia z trybu HTML<br>”; ?>

<?php echo “wyj艣cie przy u偶yciu pe艂nych znacznik贸w PHP<br>”; ?>

<script language=”php”>

echo “niekt贸re edytory HTML nie obs艂uguj膮 instrukcji przetwarzania<br>”;

</script>

<% echo “mo偶na stosowa膰 r贸wnie偶 znaczniki w stylu ASP<br>”; %>

Pierwsza metoda oznaczania blok贸w PHP jest dost臋pna jedynie wtedy, gdy uaktywnione s膮 kr贸tkie znaczniki. Aby to zrobi膰 nale偶y u偶y膰 funkcji short_tags(), w艂膮czy膰 w pliku konfiguracyjnym opcj臋 short_tag_open lub skompilowa膰 PHP z opcj膮 -enable-short-tags. Znaczniki w stylu ASP s膮 dost臋pne jedynie wtedy, gdy uaktywniona jest opcja konfiguracji asp_tags.

PHP jest syntaktycznie bardzo podobny do C. Na przyk艂ad, instrukcje s膮 oddzielone 艣rednikiem. Znacznik ?> jest niejawnym ko艅cem instrukcji, wi臋c poni偶sze przyk艂ady s膮 poprawne sk艂adniowo:

Wydruk 2.2. Koniec instrukcji

<?php

echo “Test, test…<br>”;

?>

<?php

echo “Test, test…<br>”

?>

Komentarze w PHP mo偶na oznacza膰 symbolami komentarzy pochodz膮cymi z C, C++ lub stosowanych w skryptach Uniksa. Komentarze jednoliniowe komentuj膮 tekst do ko艅ca linii lub do ko艅ca bie偶膮cego bloku PHP w zale偶no艣ci od tego, co b臋dzie pierwsze. Nie mo偶na zag艂臋bia膰 wielowierszowych komentarzy w stylu C.

Wydruk 2.3. Komentarze

<?php

echo “Witaj 艣wiecie!<br>”; // To jest jednowierszowy komentarz w stylu C++

/* To jest wielowierszowy

blok komentarza */

echo “Witamy ponownie.<br>”; # To jest komentarz w stylu skrypt贸w Uniksa

?>

<?php

/* Poni偶sza linia spowoduje wypisanie “To wy艣wietli

nic.”

*/

?>

To wy艣wietli <?php # echo “co艣”; ?> nic.<br>

<?php

/*

echo “A tutaj mamy problem.”; /* Komentarz ten jest

nieprawid艂owy */

*/

?>

Comments Off
Next Page »