Blog php

php news, php tutorial – porady programisty

sobota
mar 13,2010

Zatem do tej pory wiemy jak napisać klasę zawierająca jakieś metody i odwołać się do nich. Teraz Ci zadam proste ćwiczenie, jak które opanujesz będziesz mógł spokojnie przejść do dalszej części kursu.

Napisz klasę Silnik z metodami
Uruchom
- Po jej włączenia ma się pokazać napis ‘Silnik włączony’
Wylacz
- Po jej uruchomieniu ma się pokazać napis ‘Silnik wyłączony’

Jeżeli już napisałeś to możesz porównać z tym jak ja to napisałem, prawdopodobnie będzie to wyglądać praktycznie identycznie:

<?php
          class Silnik {
 
                    function uruchom() {
                             echo ‘Silnik uruchomiony’;
                    }
 
                    function wylacz() {
                             echo ‘Silnik wylaczony’;
                    }
 
            }
 
// Przypisujemy do zmiennej klase
$silnik = new Silnik();
 
// Włączamy silnik
$silnik->uruchom();
 
// Wyłanczamy silnik
$silnik->wylacz();
 
?>

Jeżeli poradziłeś sobie z napisaniem tego kawałka kodu, to możesz przejść dalej, ale najpierw kilka porad:
- Nazwy klas pisz zawsze z dużej litery, ułatwia to rozeznanie w kodzie
- Nazwy metod pisz 1 wyraz z malej litery, a następne bez spacji z dużej, przykład jakasTamMetoda
- Nie zapominaj przy odwoływaniu się do metody o nawiasach () w nich podaje się argumenty do funkcji

wtorek
mar 2,2010

Jeżeli już mamy tak rozbudowana klasę i może ona coś wykonać, wypadałoby ja włączyć, aby tego dokonać musimy się najpierw troszkę nauczyć. Klasę przypisuję się do zmiennej podobne jak inne typu danych, możemy ja kopiować(ale uwaga w PHP5 klasy są przekazywane przez referencje wiec nie wystarczy tu zwykle $zmiena1 = $klasa ponieważ w tym przypadku $zmiena1 będzie referencja do $klasa a nie jej kopią) przypisywać, trzymać w tablicy, etc. Jedna klasa może być przypisywana do rożnych zmiennych ile razy tylko chcesz, a dokonuje się to przy pomocy new i następnie nazwa klasy w naszym przypadku będzie to wyglądać tak:

 
 <?php
 
// Definiujemy klasę komputer
class komputer {
             // Ciało klasy komputer                        
             // Definiujemy metod wlacz
             function wlacz() {
                         // Ciało metody wlacz                                             
                         echo ‘komputer został włączony’;
             }
}
// Koniec klasy
 
 // Przypisujemy klasę komputer do jakiejś zmiennej
// w celu operowania na klasie.
$klasa = new komputer();
 
?>

W ten oto sposób powinno wyglądać uruchomianie klasy komputer i przypisanie jej do zmiennej $klasa, lecz w rezultacie powiliśmy otrzymać stronę, na której nic się nie wyświetli. Przydałoby się włączyć nasz komputer, do tego służy nasz metoda wlacz, aby ja wywołać używamy następującej składni:

 
<?php
 
 // Poprzedni kawałek usunąłem żeby nie zaśmiecać
$klasa = new komputer();
$klasa->wlacz();
 
?>

Po tym zabiegu powiliśmy otrzymać na ekranie komunikat komputer został włączony. Na jakiej zasadzie to działa? Więc zmiennej $klasa został przypisany obiekt komputer (poprzez new komputer() ) teraz znając budowę naszej klasy odwołujemy się do metody jej przy pomocy -> który informuje PHP ze w obiekcie, który jest przypisany zmiennej $klasa chcemy metodę wlacz. Bardzo ważne są tutaj nawiasy () ponieważ dziki nim PHP wie ze chodzi nam o metodę, a nie właściwość (więcej o właściwościach będzie trochę później).

poniedziałek
lut 15,2010

Nadszedł czas na wprowadzenie metody do naszej klasy komputer uda nam się to przy pomocy słowa function, po którym musimy dać nazwę metody i nawiasy, w których wprowadzamy argumenty do funkcji i podobnie jak w klasie klamry, które zamkną ciało funkcji.

<?php
 
           // Definiujemy klasę komputer
           class komputer {
                         // Ciało klasy komputer
 
                         // Tutaj zdefiniujemy metodę do klasy komputer
                         function wlacz() {
                                         // Ciało metody włącz
                         }
           }
 
?>

Napisaliśmy tutaj metodę wlacz, która jest w klasie komputer nie posiadająca żadnych argumentów i nie wykonująca żadnych operacji, postarajmy się, aby na ekranie została napisana informacja „komputer został włączony”, kiedy metoda wlacz zostanie uruchomiona. Do pomocy użyjemy na pewno znanej Ci już bardzo dobrze punkcji echo, która używa się dokładnie tak samo jak poza klasa – w metodach klas piszemy kod dokładnie tak samo jakbyśmy go pisali poza klasa (pamiętaj tylko abyś nie wyszedł poza ciało metody), jedyne, o czym musimy pamiętać to, to, że nie są tam dostępne zmienne zdefiniowane w innych metodach lub poza klasa. Przedstawieniem jak prosto da się to „organicznie”(tak naprawdę to super sprawa ze mamy ograniczony zasięg zmiennych, lecz Tobie może się wydać z pęczaku ze to utrudnia prace, postaram się Cię przekonać ze w praktyce jest zupełnie inaczej) ominąć zajmiemy się potem, mianowicie przy omawianiu właściwości klasy. W takim razie myślę ze już sam sobie poradziłeś z napisanie kodu w odpowiednim miejscu, jak się nie martw zaraz będzie kod i zobaczysz jak to powinno wyglądać.