Vlákno názorů k článku PHP v objetí objektů (3) od Ondrej Novy - Ma nekdo predstavu, k cemu mi je polyformismus,...

  • Článek je starý, nové názory již nelze přidávat.
  • 31. 7. 2001 8:58

    Ondrej Novy (neregistrovaný)

    Ma nekdo predstavu, k cemu mi je polyformismus, kdyz se v PHP nedela typova kontrola promennych? Tj. je totez napsat:

    class aaa {
      function out() {
        echo "aa";
      }
    }
    class bbb extends aaa {
      function out() {
        echo "bbb";
      }
    }

    ------------- a --------------------

    class aaa {
      function out() {
        echo "aa";
      }
    }
    class bbb {
      function out() {
        echo "bbb";
      }
    }
    ------------------------
    stejne pak muzu prirazovat vesele:
    $x = new aaa();
    $x->out();
    $x = new bbb();
    $x->out();

    v cecku to ma logiku, protoze bych musel napsat:
    aaa x;

    x = new bbb();
    x->out();

    a tim by priklad cislo 2 nesel. V PHP to ale nechapu. Zvlast kdyz jde napsat treba:
    $y = "aaa";
    $x = new $y();

    a to zdaleka neni extremni pripad, jdou i horsi!
    Ja osobne v dedeni v PHP vidim jenom usetreni prace s copy-paste. Ale treba kdyz chci zdedit metodu ale pridat ji neco MEZI stavajici kod, tak stejne musim copy-paste :(

    mimochodem, prisel nekdo na to, jak volat callback funkci z metody nejake tridy (i kdyz uznavam, jde o krok mimo z objektoveho modelu. ale jse mi o neco jako jsou volani udalosti v C#.). moje pokusy nejak zklamaly :(

    btw nedela nekdo na nejake zastresujici knihovne? Neco jako MFC pro HTML? Vypada to docela blede, podle poctu prispevku pod clankem a podle dotazu na builder.cz (jinak tez :lamerzone:) :((((

  • 31. 7. 2001 20:59

    Mikin (neregistrovaný)

    Pokud vim, tak kdyz se chce neco pridat MEZI stavajici kod metody i treba v C++, tak to taky nejde. Neni to chyba ale logika programovani. Resi se to pokud vim tim, ze se kriticka cast kodu vlozi do zvlastni metody, ktera se pak prekryva

  • 1. 8. 2001 9:17

    Ondrej Novy (neregistrovaný)

    jasne - to si uvedomuju...

    jenom se mi nejak nedari nejak objektove zapouzdrit html tak, abych nepotreboval copy-paste.

    tohle:

    class xxxx {
    function aa() {
    echo "aaa";
    OnAAA();
    echo "bbb";
    }
    function OnAAA() {
    }
    }

    proste nekdy nestaci. v prvnim potomkovi udelam OnAAA ale v dalsim potomkovi potrebuju vlozit zase nejakej kus kodu nekam mezi.... V C++ takovy problemy zdaleka nemam, vzdycky to nejak vymyslim, ze to nepotrebuju. To HTML je tezce neuchopitelny. Asi skoncim s vymyslenim objektove knihovny u pujdu do ASP.NET. Videli jste ukazku treba na www.gotdotnet.com??? V IE i treba v Mozille?? Stejny zdrojak jiny vystup, mix FORMu a JavaScriptu! Kdo neco podobnyho napise pro PHP? hledam dobrovolnika :) Jinak je PHP v pytli. v .NET se da udelat UDRZOVATELNA aplikace. S tim mam v PHP nekdy dost problemy..

  • 1. 8. 2001 22:21

    Jirka Kosek (neregistrovaný)

    V jednodušší podobě něco podobného umí modul ooh_forms z PHPLIB. Z definic formulářových polí umí sám vygenerovat validátor pro server i pro klienta (v JavaScriptu).

    Přehlednost a udržovatelnost kódu nijak zvlášť nesouvisí s nástrojem, spíš s tím, jak je člověk na sebe přísný a jestli dovede konzistentně udržovat určitá jednotná pravidla.