Hlavní navigace

Vlákno názorů k článku Seaside (1) od MiG - Dříve jsem pracoval s PHP, které je dobré...

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 2. 2005 12:56

    MiG (neregistrovaný)
    Dříve jsem pracoval s PHP, které je dobré na rychlé věci (tzv. naprasení stránek za hodinu). V PHP však lze udělat i velké projekty (centrum.cz, atd.) Přesto mi objektový model PHP nevyhovuje, pročež se snažím používat jiné frameworky, konkrétně http://www.rubyonrails.com/

    1. zcela objektový návrh (používá jazyk Ruby), i k sql databázi se přistupuje jako k objektu, např.:

    clovek = Lidi.new
    clovek.jmeno = 'martin'
    clovek.prijmeni = 'novak'
    clovek.save

    2. template engine nepoužívá žádné nové, skvělé, speciální XML šablony, nýbrž jen obyčejné rhtml (což je Ruby vkládané do HTML ve stylu PHP - někdy se logice v šabloně prostě nevyhnete, např. při opakování elementu na základě předaného pole, ale není k tomu přeci nutné vytvářet specialni jazyk jak to dělá konkurence)

    RubyOnRails za mě prostě neděla 1001 věcí, jejichž používání bych se musel učit rok. Nejde o předpřipravené formuláře, jen o framework, který elegantně řeší to, co se dělá v PHP neohrabaně. Příklad aplikace v Rails napsané: http://www.43things.com (doporučuji, je to docela dobrý nápad :-))
  • 21. 2. 2005 16:44

    bez přezdívky
    To, co zde tak vychvalujete ("databázové objekty"), má ve světě OOT už léta jméno. Říká se tomu ADO - Active Domain Object, a můžete tak programovat v libovolném programovacím jazyce. Tohle celé se mi jeví jako krok zpátky (opět nic nového + kód míchaný v HTML)...
  • 21. 2. 2005 17:48

    MiG (neregistrovaný)
    hlavně ty zkratky, ty jsou důležitý :-))

    Problém je, že nikdy úplně neoddělíme šablonu a logiku. Občas mám pocit, že spousta projektů stráví většinu času vývojem superspeciálního šablonového jazyka, který bude mít nejlépe stejné možnosti jako každý skriptovací jazyk (a samozřejmě ho pochopí i sekretářka).

    Na PHP se ukazuje, že právě toto vkládání kódu přímo do stránky není zas tak špatné, pokud se dělá s mírou ("uvaří" se to nahoře a pak jen vkládá na patřičná místa).

    Spousta projektů je plná specialit, ale ve výsledku jde pořád o totéž Hello world.

    Objektový princip je mi blízký, přesto ho ale raději dělám v jiném jazyce než v PHP, a to především kvůli ušetřenému času a klávesovým úhozům.
  • 22. 2. 2005 8:20

    Ray (neregistrovaný)
    Sablona a logika uplne oddelit nejde to je pravda. Nicmene, spojovat PHP a 'sablonu' dohromady mi prijde zvrhlost - mam na mysli u rozsahlych projektu. Tam je kvalitni templata zaklad. A ze se jich moc dobrych na netu nevali (vim o jedne :)

    Jesli umi ta sablona objekty a 'vsechno co PHP' neni az tak dulezite, dulezite je to, kolik prave usetri 'uhozu' a toho casu, nez lepit dohromady PHP a HTML/XML/... A jake prave poskytuje nastroje k tomu, aby byla vykonna a rychla na beh.

    Presunout logiku UPLNE do templaty z PHP vrstvy je to, co se mi v PHP osvedcilo nejvic. Daji se tak pouzivat obrovske casti kodu. Za cenu 'slozitejsich' templat, ale ty jsou vzydcky u velkych veci rozsahle, at clovek chce nebo ne. A to je prave ta cast 'one-shot'.

    ps: videl jsem tady dohadovani o (ne)velikosti projektu v PHP. Nas nejvetsi projekt v PHP ma radove ~50-60 tisic radku (to je ~2.5-3 mega na zdrojacich) + hafo veci v C/C++ (jako extension do PHP napr.)... A videl jsem i vetsi :)
  • 22. 2. 2005 10:59

    MiG (neregistrovaný)
    To je jasne, ze nemam sablony a logiku v jednom souboru. Treba zde je kus sablony v rhtml - pochopitelne, prehledne, a porad je to Ruby:

    <div class='polozky'>
    <% @polozky.each do |jmeno,datum,mesto| %>
    jmeno: <%= jmeno %><br />
    datum: <%= datum %><br />
    mesto: <%= mesto %><br />
    <% end %>
    </div>
  • 22. 2. 2005 9:59

    bez přezdívky
    ...Problém je, že nikdy úplně neoddělíme šablonu a logiku. ...

    Nejen že ji lze oddělit, ale u velkých projektů to ani jinak nejde. Model-View-Controller je defacto standardem pro psaní webových aplikací. Plácat logiku do "šablony" prostě nelze. Jde jen o to, jak naprogramovat prezentační část.

    A o to u programování webových aplikací jde. Jakým způsobem zobrazíte data na stránce. Seaside nabízí velmi atraktivní komponentový model s dekorátory. V JSP máte možnost využít JSTL nebo JSF atd....
  • 22. 2. 2005 10:42

    Ray (neregistrovaný)
    Potom uz je to ale slovickareni 'co' je sablona - resp. kde jsou jeji hranice. Ale odeleni kodu a logiky je zaklad, souhlas.

    R.