W językach obiektowych takich jak Java czy C++, gdzie obiekty tworzy się wykorzystując jako wzorzec klasę, bardzo ważną rzeczą staje się konstruktor. W JS na dobrą sprawdę konstruktor nie jest potrzebny. Można tworzyć obiekty, które nie posiadają jawnie  zadeklarowanego konstruktora (choćby przez literał obiektowy).

Jeśli jednak ktoś jest bardzo przywiązany do konstruktorów (jak choćby ja) może stworzyć konstuktor:

var MyObjConstr = function(a, b)
{
    this.func = function() { alert('My func1!'); }
    this.a = a;
    this.b = b;
};

var MyObj = new MyObjConstr(1, 'ala ma kota');
MyObj.func();
alert(MyObj.a);
MyObj.a = 10;
alert(MyObj.a);

Continue reading

Ktoś się może nawet oburzy, że o czym ja tu piszę. Przecież w PHP nie ma przeciążania znanego z C / Javy. Istnieje co prawda coś, co jest nazywane “przeciążaniem“, jednak działa na innej zasadzie. Ja jednak nie znalazłem innej nazwy. No może “statyczne przeciążanie konstruktora”. Zaraz postaram się wyjaśnić, o co mi chodzi.

Na początek

  • podstawowa wiedza o PHP5 (konstruktory, pola statyczne)
  • serwer www (może być lokalny, np. WAMP)

Zwykła klasa

Oto kod zwykłej klasy, która obudowuje funkcję fopen:
Continue reading