Na zakończenie ostatniego tematu poprosiłam Cię o stworzenie „zeszytu elektronicznego”. W panelu lewym Twojego „zeszytu” dodaj link o treści: „PHP – pierwszy skrypt, echo, komentarze.”, który przeniesie Cię do podstrony o nazwie: „data_dziesiejszych_zajec.php” (oczywiście wpisz datę zajęć np. 280918.php).
Pamiętaj, że wszystkie pliki muszą być zapisane w lokalizacji c:\xampp\htdocs\
Uwaga: skrypty php muszą być zapisane w pliku z rozszerzeniem .php, NIE .html.
Uruchom Xampp Control Panel i wystartuj usługi Apache i MySQL. Uruchom przeglądarkę internetową wpisując w pasku adresu: localhost.
Jesteś gotowy do pracy.
Składnia PHP
O składni języka PHP mówiliśmy na poprzedniej lekcji, ale w celu przypomnienia, aby skrypt PHP został prawidłowo zinterpretowany musi znajdować się pomiędzy znakiem rozpoczęcia i zamknięcia:
<?php ....................... ?>
Komentarze
Pamiętasz jak wygląda komentarz w HTML?
<!-- komentarz -->
Komentarze w języku PHP występują w 3 postaciach:
<?php // komentarz liniowy # kolejny komentarz liniowy - rzadko używany /* komentarza blokowy kolejna linia i kolejna i kolejna aż do zamknięcia komentarza */ ?>
Uwaga: nie wolno zagnieżdżać w sobie komentarzy blokowych!
Komentarze są bardzo przydatnym narzędziem i nie bój się z nich korzystać.
Wyświetlanie tekstu w przeglądarce
Aby wyświetlić tekst w przeglądarce posługujemy się instrukcją echo
echo "Hello World!"; // wyświetli napis: Hello World!
Alternatywnie możesz posłużyć się funkcją print
print "Hello World!"; // wyświetli napis: Hello World!
Hmm… czy są identyczne?
Ich działanie jest zbliżone. Konstrukcja print bardziej przypomina funkcję: przyjmuje pojedynczy
parametr i zwraca pewną wartość (wynosi ona 1), echo jest konstrukcją językową.
echo jest odrobinę szybsza od instrukcji print, jeśli
chodzi o generowanie tekstu, gdyż nie zwraca żadnej wartości, ale ponieważ nie jest funkcją, nie da się jej użyć w bardziej skomplikowanych wyrażeniach,
w których można zastosować instrukcję print.
ale co i jak jeszcze można wyświetlać:
echo "<br>"; //w ten sposób dodajemy wyświetlanie nowej linii //wyświetlanie wielu linii echo "Ten zapis obejmuje wiele linii, ale zostaną one wyświetlone w jednej linii, ponieważ sama instrukcja echo nie widzi w tym przypadku znaków nowej linii"; echo "<br>"; echo "<br>Ten zapis również obejmuje wiele linii.<br> Będą one wyświetlane, w wielu liniach,<br> przez dodanie znacznika nowego wiersza."; echo "<br>"; //alternatywna metoda wyświetlania. PHP umożliwia tworzenie wielowierszowych ciągów znaków za pomocą operatora <<<, czyli tzw. składni heredoc (here-document) umożliwiającej dosłowne wstawianie bloków tekstowych z zachowaniem miejsc łamania wierszy i innych białych znaków (w tym wcięć).Działa pod warunkiem, iż łańcuch rozpocznie się i zakończy tym samym słowem, w tym wypadku END. Nie jest to jednak metoda często spotykana. echo <<<_END Ten tekst może być wielolinijkowy w w edytorze. Sprawdź czy zostanie tak wyświetlony w przeglądarce. _END; echo "<br>"; //wyświetlanie znaków specjalnych tj. "" musimy poprzedzić backslash'em echo "Jeżeli chcemy wyświetlić cudzysłów \"Przykład\"."; echo "<br>"; echo "Znak dolara \$"; echo "<br>"; echo "\"Tekst ujęty w znaki cudzysłowia\""; echo "<br>"; // Wyświetlanie zawartości zmiennych $zmienna1 = "wartość zmiennej 1"; $zmienna2 = "wartość zmiennej 2"; echo "zmienna1 = $zmienna1, a zmienna2 = $zmienna2"; // wyświetli: zmienna1 = wartość zmiennej 1, a zmienna2 = wartość zmiennej 2 echo "<br>"; // używając apostrofu wyświetlamy dokładnie to co znajduje się pomiędzy apostrofami (nie pobiera zawartości zmiennej) echo 'wartość zmiennej 1 znajduje się w $zmienna1'; // wyświetli: wartość zmiennej 1 znajduje się w $zmienna1 echo "<br>"; // jeżeli wyświetlamy samą zmienną nie musimy używać cudzysłowów, ani apostrofów echo $zmienna1; // wartość zmiennej 1 echo "<br>"; echo "Wartością zmiennej \$zmienna1 jest $zmienna1 <br>"; echo "<br>"; //łączenie wielu elementów do wyświetlenia echo $zmienna1.$zmienna2."<br>"; // za pomocą kropki dołączamy kolejne zmienne echo $zmienna1,$zmienna2,"<br>"; // przecinek działa podobnie, nie jest używany - stosujemy kropkę // łączenie wielu elemetów - tekstu i zmiennych echo 'Można '.'łączyć '.'wiele '.'elementów '.' oraz dodawać zmienne '.$zmienna1.'<br>'; // wyświetlanie tablicowe $tablica = array("indeks" => "wartość"); echo "wartość dla indeksu = {$tablica['indeks']} !"; // wyświetli: wartość dla indeksu = wartość ! echo "<br>"; // wyświetlanie z warunkiem jeżeli (warunek) ? 'wartość gdy prawda' : 'wartość gdy fałsz' echo ($zmienna1) ? 'true' : 'false';
Integracja PHP z HTML
Skrypty PHP możesz umieszczać w dowolnym miejscu kodu HTML, zarówno przed i za znacznikami jak i wewnątrz nich:
<!DOCTYPE html> <html> <head> </head> <body> <section id="<?php dowolny skrypt ?>"> <a href="<?php echo 'https://kamakaczmarek.net'; ?>">Materiały do nauki</a> </section> </body> </html>
Istnieją 2 szkoły integrowania PHP z HTML: pierwsza mówi o wyświetlaniu HTML za pomocą instrukcji echo, druga o rozdzieleniu HTML i PHP i umieszczaniu w kodzie HTML wielu skryptów objętych znacznikami <?php ?>. Ty decydujesz jakiej użyjesz. Ja jestem zwolenniczką 2 szkoły, ponieważ nie tracimy kolorowania składni HTML, a poza tym w testach jest odrobinę wydajniejsza ;P
<?php //wyświetlanie HTML w PHP echo "<p>użycie HTML w PHP".$zmienna1."</p>"; ?> <p>użycie PHP w HTML <?php echo $zmienna1; ?></p> <p>użycie PHP w HTML w skróconej formie <?=$zmienna1;?></p>
Wszystkie kody zaprezentowane w tej lekcji powinny zostać zapisane w Twoim zeszycie, przetestuj ich działanie i za pomocą CSS „upiększ” ich wyświetlanie.