[Artykuł] Programowanie w PHP - część 1, podstawy

Dział poświęcony programowaniu w każdym języku.

[Artykuł] Programowanie w PHP - część 1, podstawy

Postprzez michaelxp91 » 2007-02-13, 23:58:28

Programowanie w PHP, część 1. - Podstawy

1. Czym jest PHP ? - wiedza teoretyczna i zasady działania.

PHP jest najpopularniejszym z języków programowania typu server-side. Pisane w nim skrypty interpretowane są przez serwer WWW i wysyłane do klienta już jako przetworzony kod HTML, przez co unikany jest problem z niekompatybilnością przeglądarek. Wykonywanie podanych instrukcji przez serwer ma również wpływ na zmniejszenie obciążenia po stronie klienta oraz możliwość dostępu do danych zawartych na serwerze. Strony pisane w języku PHP można zintegrować z bazami danych, m.in. MySQL oraz PostrgeSQL, co stawia go jak narazie na miejscu lidera w dziedzinie programowania funkcjonalnych stron opartych o skrypty.

-------------------------------------------------

2. Hello world

Najprostszy możliwy do napisania skrypt w PHP to oczywiście program powitalny ze światem czyli 'Hello world' ;) Będzie on wyglądał następująco:

Kod: Zaznacz cały
<?php

echo '<b>Hello world!</b>';

?>


Wygląda banalnie, prawda ? :> Reszte bardziej złożonych możliwości opisze dalej.

Demo: http://www.e-comp.org/lool/helloworld.php

-------------------------------------------------

3.

a) Podstawowy zapis i polecenie echo


Zacznijmy od tego, że cały kod napisany wjęzyku PHP zawiera się w znacznikach <? oraz ?>. Czasami znacznik rozpoczynający zapisujemy w postaci <?php, możliwośc przydatna, choć nie konieczna.
Prosty skrypt testowy możemy zapisać w następującej postaci:

Kod: Zaznacz cały
<?php

echo 'test';

?>


Wyświetli on na ekranie tekst 'test'. Jak widać pojawiło się ttuaj polecenie echo, służy ono do wyświetlania podanej w cudzysłowie zawartości.
Jak zauważyliśmy, na końcu polecenia znajduje się średnik, jest to znak kończący każdą instrukcje w PHP. Informuje o miejscu zakończenia jednaj i konieczności przejścia do drugiej instrukcji.
W tym wypadku użyliśmy pojedyńczego cudzysłowu. Jest on wystarczający dla wyświetlenia samego łańcucha tekst lub wartości liczbowej, lecz nie działa 'w nim' PHP, dlatego nazwy zmiennych będziemy zmuszeni umieszczać już w podwójnych cudzysłowach. Przykładowy kod wyglądałby nastepująco:

Kod: Zaznacz cały
<?php

echo "$test";

?>


Ale o zmiennych powiemy sobie za chwilę.

b) Komentarze

W PHP jak w każdym innym języku występują komentarze. Obowiązują trzy style komentowania:

/* komentarz */ (w stylu języka C)
# komentarz (w stylu skryptów konsoli)
// komentarz

Dwa ostanie muszą zawierać się w jednej linii.

c) Zmienne

Zmienne w języku PHP łatwo rozpoznac po rozpoczynającym je znaku dolara. Reprezentują one sobą jakomś zawartą w nich wartość. Prosta instrukcja tworząca zmienną o nazwie 'testvariable' wygląda następująco:

Kod: Zaznacz cały
<?php

$testvariable = 3;

?>


Przypisuje ona zmiennej wartość 3. Wartości liczbowe nie muszą zostać zawarte w cudzysłowie, znów dla wartości nie liczbowych oobwiązuje ta sama zasada co wcześniej dla używanych cudzysłowów. Znak równości nazywamy operatorem przypisania. Jako wartośc możemy przypisać wyrażenie matematyczne:

Kod: Zaznacz cały
$testvariable = 1 + 1; // przypisze zmiennej wartość 2
$testvariable = 1 - 1; // przypisze zmiennej wartość 0
$testvariable = 2 * 2; // przypisze zmiennej wartość 4
$testvariable = 2 / 2; // przypisze zmiennej wartość 1


Zmiennym możemy przypisać również łańcuchy tekstu, np.:

Kod: Zaznacz cały
$testvariable = "Siema mistrzu!"; // przypisze zmiennej
// wartość Siema mistrzu!

d) Tablice

Tablica to specjalny rodzaj zmiennej, zawierającej w sobie wiele wartości. Najprostszym sposobem tworzenia tablic jest wbudowana w PHP funkcja array. Przykład:

Kod: Zaznacz cały
$myarray = array( 'jeden', 2, '3');


Zasada cudzysłowów ciągle taka sama, wartości oddzielane są przecinkami.
Każda wartość zawarta w tablicy posiada swój indek, począwszy od 0. Przykład indeksół dla podanej wcześniej tablicy wygląda następująco:

Kod: Zaznacz cały
echo $myarray[0]; // zwraca jeden
echo $myarray[1]; // zwraca 2
echo $myarray[2]; // zwraca 3


Przydzielić nowe wartości do tablicy można wg. poniższego wzoru:
Kod: Zaznacz cały
$myarray[2] = 'dwa'; // przypisze do tablicy nową wartośc dla
                                          // zmiennej o indeksie 2


Chcąc dodać nową wartość na końcu tablicy nie podajemy indeksu zmiennej:

Kod: Zaznacz cały
$myarray[] = 'cztery'; // przypisze wartość cztery na końcu tablicy
echo $myarray[3]; // zwraca cztery


Indeksem wartości wtablicy może być również łańccuh tekstu. Utwórzmy w tym celu tablice $birthdays przechowującą daty urodzin kilku osób.

Kod: Zaznacz cały
$birthdays = array('Kevin' => '1978-04-12', 'Stefania' => '1980-05-16', 'Dawid' => '1983-09-09');


Jeśli chcemy poznać date urodzin którejś z osób, podajemy jako indeks jej imie, np:

Kod: Zaznacz cały
echo "Data urodzenia Kevina to: $birtdays['Kevin']"


Ten typ tablic nazywamy tablicami asocjacyjnymi, są one szczególnie przydatne gdy zajmujemy się interakcją i komunikacją z użytkonikiem.

-------------------------------------------------

4. Struktury sterujące

a) Instrukcja if – else


W języku PHP tak jak w każdym innym możemy sterować przepływem danych wewnątrz skryptu. Narzędzia takie nazywamy strukturami sterującymi.

Najbardziej podstawową i najczęściej wykorzystywaną jest instrukcja if – else. Oznacza ona dokładnie 'jeśli tak - zrób... jesli nie – zrób..'. Jej ogólny wzór wygląda nastepująco:
Kod: Zaznacz cały
if (warunek ) {
// instrukcje, które mają być wykonane
// gdy warunek zostanie spełniony
} else {
// instrukcje, które mają być wykonane
// gdy warunek nie zostanie spełniony
}


Demo skryptu: http://www.e-comp.org/lool/ifelse.php
Wpiszcie sobie 'test' oraz cokolwiek innego i porównajcie wynik ;) Cały kod tego skryptu wygląda następnująco:

Kod: Zaznacz cały
<html>
<form action="ifelse.php" method="post">
<label>Treść:
  <input type="text" name="zmienna" /></label>
  <input type="submit" value="Wyślij" />
</form>
<?php

$zmienna = $_POST['zmienna'];

if ($zmienna == 'test' ) {

echo "Witaj, oto wersja demostracyjna tego skryptu. Prawda, że fajny ?!";

} else {

echo "Test wykonany niepoprawnie.";

}

?>
</html>


Znacznik == nazywamy operatorem porównania. Sprawdza wartość zmiennej przesłanej do tablicy $_POST z tą zawartą w warunku i każe wykonać odpowiednią operację :)

b) Pętla while

Kolejną często wykorzystywaną instrukcją jest pętla while. Wygląda następująco:

Kod: Zaznacz cały
while (warunek) {
// instrukcje, które będą powtarzane
// dopuki warunek będzie spełniony
}

Pętle okazują się bardzo przydatne tam, gdzie musimy zająć się długo listą rzeczy. Tak wygląda prostu skrypt liczący do dziesięciu:

Kod: Zaznacz cały
<?php

$count = 1;

while ($count <= 10) {
   echo "$count";
   ++$count;
}

?>


W pierwszym wierszu przypisujemy zmiennej $count wartość 1. w drugim sprawdzamy, czy wartośc jest mniejsza lub równa 10. Trzeci i czwarty to powtarzane instrukcje, wyświetlanie i zwiększanie wartości. Po wykonaniu tego skryptu przez serwer na ekranie powinny wyświetlić się liczby od 1 do 10, wg. założonego warunku pętli.

Demo skryptu: http://www.e-comp.org/lool/while.php

c) pętla for

Kolejnym rodzajem pętli jest pętla for. Wygląda następująco:

Kod: Zaznacz cały
for (inicjuj; warunek; aktualizuj) {
// blok instrukcji wykonywanych
// przy każdym nawrocie pętli
}


Instrukcja inicjuj jest wykonywana podczas uruchomienia pętli, tylko raz. Warunek zostaje sprawdzany przy każdym nawrocie, przed wykonaniem instrukcji znajdujących się w bloku. Aktualizuj wykonywane jest przy każdy nawrocie, po wykonaniu instrukcji z bloku. Pętla podobnie jak w przypadku while nawraca do momentu, dopuki warunek nie zostanie spełniony. Przykład wyliczania będzie wyglądać nastepująco, tym razem odliczymy do 496, a wynik wyświetlimy w słupku:

Kod: Zaznacz cały
<?php

for ($count = 1; $count <= 496; ++$count) {
   echo "$count <br />";
}
?>


Demo skryptu: http://www.e-comp.org/lool/for.php

-------------------------------------------------
5. Przykładowe funkcje wbudowane

a) array()
Tworzy nowe tablice.

b) copy()
Wykonuje standardową operację kopiowania pliku.

c) date()
Wyświetla aktualną datę podaną przez serwer WWW.

d) exit()
Uzycie tej funkcji spowoduje przerwanie przez PHP odczytywania strony.

e) fopen()
Funkcja ta otwiera plik umożliwiajać odczytywanie i zapis w nim. Plik ten może zostać zapisany na dysku twardym serwera lub też PHP może załadowac go potem spod określonego adresu URL, na podobnej zasadzie, jak to robi przeglądarka WWW.

f) fclose()
Funkcja ta informuje PHP, że skończyliśmy odczytywanie lub zapisywanie danego pliku, i zwalnia go, umożliwiając innym procesom lub skryptom korzystanie z tego pliku.

g) fread()
Funkcja fread odczytuje dane z pliku i zapisuje je w zmiennej języka PHP. Umożliwia określanie, ole informacji (np. ile znaków lub bajtów) chcemy odczytać.

h) fwrite()
Funkcja fwrite pozwala zapisać w pliku informacje przechowywane w zmiennej języka PHP.

i) unlink()
Funkcja unlink usuwa plik z dysku twardego.

j) unset()
Usuwa zmienną z bierzącej sesji.

k) urlencode()
Zastepuje wszystkie znaki specjalne pojawiające się w przesłanym jej łańcuchu tekstu odpowiednimi kodami, którymi powinny zostać zastąpione w łańcuchu zapytania.

-------------------------------------------------

Dodatek A.

a) ++$zmienna

Taki zapis jest równoznaczny z zapisem:

Kod: Zaznacz cały
$zmienna = "$zmienna + 1";


Krótko mówiąc, przypisuje zmiennej wartośc o jeden większą ;)

b) --$zmienna

Przypisuje zmiennej wartość o jeden mniejszy, równoznaczne z zapisem:

Kod: Zaznacz cały
$zmienna = "$zmienna - 1";


-------------------------------------------------

To by było na tyle, w następnej części skupie się na zastosowaniu wszystkich podanych wyżej funkcji oraz tworzeniu własnych. Część trzecia będzie poświęcona na integrację z bazą MySQL.

Pozdrawiam

// Artykuł napisany w oparciu o książke Kevin Yank "Witryna WWW oparta na bazie danych"


-------------------------------------------------

Jest to kopia artykułu mojego autorstwa. Artykuł należy do Forum Komputerowego E-comp, jego kopiowanie w całości lub częściowo jest ZABRONIONE
Obrazek
Avatar użytkownika
michaelxp91None specified
Expert
Expert
 
Posty: 1299
Dołączył(a): 2005-10-09, 22:07:29
Lokalizacja: Ruda Śląska
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

  • Inne

Powrót do Programowanie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 704 gości

cron