Objektno orjentisani php – Lekcija 1
Kategorija: Php, Tutoriali Autor: Opi
Ovo je prva lekcija iz serije na temu objektno orjentisanog php-a , a namenjena je početnicima. Prvo da krenemo sa opštom pričom , a kod objektnog programiranja sve počinje i završava se sa “klasom”. Najbolje je početi kroz primere, da ne bude previše “suvo” štivo.
neka je ovo fajl : Test.php
class Test {
private $vrednost;
public function __construct(){ $this->vrednost = “test”; }
public function print(){echo $this->vrednost;}
}
A sad : main.php
include(’Test.php’);
$prom = new Test();
$prom->print();
Kad se ovo izvrši , trebalo bi da se ispiše “test”. Sad ću da objasnim šta smo ovde uradili. $vrednost je promenjiva , članica klase , i pošto je “private” , dostupna je samo unutar klase ( može biti private [ samo unutar klase ] , protected [ unutar klase i unutar izvedenih klasa *kasnije ] i public [ svuda dostupna] ). __construct je takozvana “magična metoda” zato sto ima prefix “__” , a ima ulogu “konstruktor-a” , t.j. izvršava se kad se pozove “new ImeKlase()”. $prom->print() je poziv funkcije unutar klase Test , i ona ispisuje vrednost promenjive “$vrednost”.
U ovom postu ćemo obraditi još 1 ( 2 ) novi pojam : statičke promenjive i statičke funkcije. Statičke promenjive i metode su specifične po tome što su zajedničke za sve objekte tipa date klase. Sad ćemo to da razjasnimo na primeru.
Staticka.php
class Staticka {
private static $st = 0;
public static function set($vr){self::$st = $vr;}
public static function print(){ echo self::$st;}
}
main.php
include(’Staticka.php’);
Staticka::print();
Staticka::set(10);
Staticka::print();
Trebalo bi prvo da se ispiše 0 pa onda 10. Prvo da objasnimo razlike izmedju statičkih i nestatičkih promenjivih i funkcija u nekoj klasi:
| Ne Statička | Statička | |
| Poziv unutar klase | $this->ime | self::$ime |
| Pristup javnoj ( public )promenjivoj van klase | $promenjiva->ime | ImeKlase::$ime |
| Poziv javne funkcije van klase | $promenjiva->funkcija() | ImeKlase::funkcija() |
Mislim da je ovo dovoljno za nekog ko se prvi put susreće sa objektnim programiranjem , a nastavak sledi!




(10)

