JAO-php-lab1.pdf

(589 KB) Pobierz
19.10.2010 14:52:37
Języki, automaty, obliczenia
Laboratorium 1
Celem ćwiczenia jest zapoznanie się z podstawami programowania w języku PHP.
Należy napisać program, który wczyta z dysku plik zawierający informację o N zbiorach, zapamięta
tę informację w odpowiednich zmiennych i wyświetli wczytane dane zbiory na konsoli. Zawartość
pliku z danymi:
{A,B,C,D,E}
{1,2,3}
{x1,x2,x3,x4}
{y1,y2,y3,y4,y5}
1. Wstęp do ćwiczenia
Język programowania PHP jest językiem skryptowym, łączącym elementy programowania
strukturalnego i obiektowego. Ponieważ programowanie strukturalne należy obecnie do historii
informatyki, na zajęciach skupimy się na programowaniu obiektowym.
1.1. Program w języku PHP
Wg paradygmatu programowania obiektowego, program składa się z klas. Dobra praktyka
programistyczna nakazuje umieszczać deklarację jednej klasy w jednym pliku. Nazwa klasy jest jest
identyczna z nazwą pliku. Do klasy możemy przypisać pola lub metody:
• pole to zmienna przypisana do klasy,
• metoda to funkcja przypisana do klasy.
Klasy są podobne do struktur z języka C – oprócz danych zawierają też kod operacji na danych.
W powyższym kodzie pokazano klasę o nazwie ProgramJAO , która posiada pole o nazwie wynik
i metodę o nazwie main . Metoda main otrzymuje dwa parametry. Słowo public mówi, że pole
i metoda mogą być używana przez dowolną inna klasę.
1.2. Zmienne, funkcje, parametry funkcji w języku PHP
• W języku PHP nazwa zmiennej musi być poprzedzona znakiem $.
• W przeciwieństwie do języka C, nie trzeba deklarować zmiennych. Deklaracja następuje
w momencie pierwszego przypisania wartości do zmiennej.
1
917923367.011.png
• W PHP występują następujące typy zmiennych: boolean , integer , float , string ,
array i typy obiektowe. Interpreter PHP przypisuje typ do zmiennej podczas wykonywania
programu.
• W deklaracji funkcji nie określamy typów parametrów.
1.3. Konwencje nazewnicze
Przez lata rozwoju informatyki programiści wypracowali pewne nawyki, których bezwzględnie
należy przestrzegać:
1. Nazwy klas piszemy zawsze wielką literą, np. klasa ProgramJAO .
2. Nazwy zmiennym piszemy zawsze małą literą, np. $parametr .
3. Nazwy funkcji i metod piszemy zawsze małą literą.
4. Na granicy słów stosujemy wielką literę, np. klasa StudentPolitechniki , zmienna
$ocenaKoncowa , funkcja wystawOcenę($student) .
1.4. Klasy i obiekty
Klasa jest opisem informacji i zachowania pewnej grupy obiektów, charakteryzujących się wspólnymi
cechami. Obiekt jest instancją klasy.
Powyższy kod deklaruje zmienną o nazwie program i przypisuje do niej obiekt klasy
ProgramJAO . Druga linijka wywołuje metodę main obiektu program . Trzecia linijka wyświetla
wartość pola wynik obiektu program . Operatorem dostępu do pól i metod obiektu jest „ -> ”.
1.5. Dostęp do pól w klasie
Z kodu metody klasy możemy uzyskać dostęp do pól klasy, poprzedzając ich nazwy słowem
kluczowym this :
class ProgramJAO {
public $wynik;
public function main($parametr1, $parametr2) {
//zwróć uwagę, gdzie jest znak $
$this->wynik = $parametr1 + $parametr2;
}
}
1.6. Tablice
W języku PHP występuja asocjacyjne tablice dynamiczne, tworzone następująco:
$tablica1 = array(); // tworzy pustą tablicę
$tablica1[] = 1; // dodaje element do tablicy
$tablica2[] = 2;
$tablica3[] = ”abc”;
$tablica2 = array(1, 2, ”abc”); // tworzy tablicę
W powyższym przykładzie $tablica1 i $tablica2 zawierają identyczne dane.
2
917923367.012.png
1.7. Wczytywanie danych tekstowych z pliku
Używamy instrukcji podobnych do języka C.
Linia 36 otwiera plik o nazwie dane.txt w trybie do odczytu. W pętli while (linia 38) wczytujemy
kolejne linie tekstu z pliku (linia 40). W linii 42 sprawdzamy, czy przeczytano pustą linię.
Po zakończeniu operacji na pliku, plik jest zamykany (linia 47).
1.8. Pobieranie znaków z tekstu
W celu odczytania z łańcucha tekstowego znaku z pozycji n , używamy funkcji:
1.9. Zastępowanie znaków w tekście
W języku PHP do zastępowania znaków w tekście używamy funkcji str_replace :
W linii 41 tworzymy tablicę zawierającą znaki, które będą wyszukiwane w tekście. Linia 42 powinna
zawierać tablicę przechowującą znaki, którymi zastąpione zostaną znalezione. Ponieważ zmienna ta
jest pusta, funkcja str_replace usunie znalezione znaki. Linia 43 wykonuje operację zastąpienia.
Ze zmiennej linia usunięte zostaną elementy tablicy znaki .
1.10. Usuwanie znaków
W języku PHP do usunięcia znaków z początku lub końca linii uzywamy funkcji ltrim i rtrim :
$linia = rtrim($linia, ","); // usuwa ”,” z końca linii
$linia = ltrim($linia, "#"); // usuwa ”#” z początku linii
$linia = trim($linia, "-+"); // usuwa ”+-” z początku i końca linii
3
917923367.013.png 917923367.014.png 917923367.001.png
1.11. Zamiana tekstu na tablicę
W języku PHP zamianę tekstu na tablicę wykonuje funkcja explode :
// jeżeli jest $linia=”a:b:c”;
// to będzie $zbior=array(”a”, ”b”, ”c”);
$zbior = explode(”:”, $linia);
Pierwszym parametrem funkcji explode jest separator elementów tablicy. W przykładzie powyżej
w zmiennej zbior pojawi się tablica utworzona z zawartości zmiennej linia .
1.12. Łączenie i wyświetlanie tekstów
Operatorem łączenia łańcuchów tekstowych w języku PHP jest „.” (kropka):
$linia = $linia . " tekst";
Do wyświetlania informacji na konsoli służy m.in. funkcja echo :
echo "{" . $linia . "}\n";
Do wyświetlania zmiennych w sposób zrozumiały dla człowieka służy funkcja print_r :
print_r($tablica);
2. Przebieg ćwiczenia
Uruchom program N etbeans . Z menu Window wybierz polecenie Projects . Pojawi się okno
z projektami (może być puste). Jeżeli okno ma aktywny przycisk dokowania (po ustawieniu kursora
myszy, pojawi się podpowiedź Pin ), kliknij go.
2.1. Zamknij otwarte projekty w Netbeans
Może się zdarzyć, że po uruchomieniu środowiska Netbeans , otwarte zostaną projekty z innych zajęć.
Zamknij je wszystkie.
Na rysunku poniżej otworzone są trzy projekty. Dla każdego projektu:
• kliknij lewym przyciskiem myszy w nazwę projektu , żeby go podświetlić,
• wciśnij na klawiaturze klawisz z napisem Delete lub Del ,
• w okienku Delete Project zaznacz opcję Also delete sources ,
• w okienku Delete Project kliknij przycisk z napisem Yes .
4
917923367.002.png 917923367.003.png 917923367.004.png
Nazwa
projektu
x
Czy po wykonaniu tych czynności okno projektów w Netbeans wygląda tak, jak na rysunku niżej?
?
NIE → wykonaj jeszcze raz punkt 2.1.
TAK → przejdź do punktu 2.2.
2.2. Utworzenie Projektu
Upewnij się, czy wykonany został punkt 2.1. instrukcji do ćwiczenia.
Utwórz nowy projekt z kategorii PHP , typ PHP Application , wybierając z menu File polecenie New
Project .
5
917923367.005.png 917923367.006.png 917923367.007.png 917923367.008.png 917923367.009.png 917923367.010.png
Zgłoś jeśli naruszono regulamin