
p = {a:3}; c = function(){}; c.prototype = p; d = new c; console.log(d); //d.a===3
p = {a:3}; c = function(){}; c.prototype = p; d = new c; p.a = 6; console.log(d); //d.a===6
p = {a:3}; c = function(){}; c.prototype = p; d = new c; p.a = 6; d.a = 5; console.log(d); //d.a===5
p = {a:3}; c = function(){}; c.prototype = p; d = new c; p.a = 6; d.a = 5; delete d.a; console.log(d); //d.a===6
Czyli dokładniej chodzi mi o dynamiczną podmianę pewnej własności u dzieci już stworzonych - może ktoś coś podobnego implementował - nie chcę podawać kodów gdyż może od php 5.3 jest jakiś naturalniejszy sposób od tego co ja widzę - a dróg jest kilka - albo skorzystać z zmiennych statycznych i odpowiednio to obudować, albo przez iniekcję innych obiektów, albo przez metody dostępowe prywatne i publiczne - ogólnie chciałbym zobaczyć kilka możliwych rozwiązań działających podobnie w php jak kod powyżej - mogą być linki do angielskich lub rosyjskich blogów...
i jeszcze raz podkreślam, że nie chodzi mi o sam wzorzec prototype a o jedną własność występującą w JavaScript gdzie dynamicznie jeśli potomek nie nadpisze czy to w swoim prototypie tej własności lub w już stworzonym obiekcie własności tihs.a to odwołujemy się do najbliższego przodka, gdzie ta własność [nie tylko zmienna ale i funkcja] jest zdefiniowana - trochu to przypomina zmienne statyczne gdzie podmienimy w jednej z klas a zmienia się we wszystkich powiązanych jednak nie o to chodzi ;]
wiem, że ktoś może powiedzieć, że to szukanie dziury w całym skoro wiem jak to zaimplementować ale może można prościej niż ja to widzę i czekam na jakiekolwiek odpowiedzi ^^
pozdrawiam zegarek84