rss
Jul 15

Objektno orjentisani php – Lekcija 1

Kategorija: Php, Tutoriali Autor: Opi

995000_46458615Ovo 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!

1 Star2 Stars3 Stars4 Stars5 Stars (10)
Ostavite komentar