31. 12. 2006. | #11 |
Goran Pilipović
Sir Write-a-Lot
|
O čemu vi sada pričate? Da li pričate o klasi koju je ovaj čovek napravio i tražio feedback ili ćete opet da krenete u neki advocacy "templates (ne)maju smisla"?
Interesantno je da su najveći protivnici templates oni koji ih nisu nikada ozbiljno koristili, ako su ih uopšte i probali ili su samo pročitali neki tekst negde, pa se "slažu" odnosno veruju na reč. Dakle, ja predlažem da ovde pričamo o ovome što je čovek započeo, a ako ćete da iznosite svoje optužbe pred porotu - milim vas, počnite novu temu.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
31. 12. 2006. | #12 |
Vladan Zirojević
Grand Master
|
Ajde Gorane, malo flejma nije zgoreg, bilo je u vezi teme
Blobe, koliko vidim iz koda, ne podrzava include jednog templejta u drugi templejt? I nema kompajliranja? |
31. 12. 2006. | #13 |
Super Moderator
Knowledge base
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
|
Meni samo nije jasno zasto bi template trebao da ima logiku?
Primer sa AKTIVIRAJ/DEAKTIVIRAJ bi mogao da se resi bez logike u template-u, i to na dva nacina: Kôd:
<a href="%%link%%">%%natpis%%</a> ili Kôd:
<--- start:aktiviraj ---> <a href="aktiviraj.php">Aktiviraj</a> <--- end:aktiviraj ---> <--- start:deaktiviraj ---> <a href="deaktiviraj.php">Deaktiviraj</a> <--- end:deaktiviraj ---> Samo sto si logiku prebacio u PHP skriptu, gde joj je, po meni, i mesto. Osnovni cilj template-eva je da odvoji dizajn od PHP-a, i to je i postignuto. Logika u template-u nije uopste prvobitna ideja template-a, kada su prvi template-evi napravljeni. Logika je posao za programere. Samo bespotrebno usporavate template engine stavljanjem logike u template. |
31. 12. 2006. | #14 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Sorry za offtopic, ovo je sad više edukativnog karaktera
Razgraniči logiku aplikacije i prezentacionu logiku. Nema nikakvog smisla mešati kod koji određuje da li je red tabele paran ili ne sa kodom aplikacije. Npr, kako ti napraviš da ti se izlistaju redovi izvučeni iz baze unutar jedne tabele gde su svi parni redovi plavkasti, a svi neparni bledo sivi? Treba ti loop + mogućnost da odredišt parnost trenutne iteracije i na osnovu toga odrediš koju ćeš boju koristiti. Nemoj mi reći da to mešaš sa aplikacijom?
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
31. 12. 2006. | #15 |
Ivan Dilber
Sir Write-a-Lot
|
^^ word
prezentaciona logika treba da ide u templejt (odnosno view kontroler koji template engine predstavlja) Ima jos nesto, a to je da je mnogo zgodnije drzati sve delice dizajna strane u jednom fajlu, pa ako je korisnik ulogovan onda mu ne prikazujes login box i slicno... tako je lakse dizajneru da radi, ima jedan html fajl i moze da vidi kako se sta uklapa sa cim... Sto se tice _blob_ ove klase, po meni je kompajliranje apsolutni preduslov da bi cela stvar bila prakticno upotrebljiva. Uostalom gubi smisao onog Lite u nazivu, ako je samo izvrsavanje sporo i memorijski zahtevno. Tako da ti preporucujem to kao prvi sledeci korak u razvoju..
__________________
Leadership is the art of getting people to want to do what you know must be done. |
31. 12. 2006. | #16 | |
Super Moderator
Knowledge base
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
|
Citat:
Smatram da je bolje zrtvovati jednu liniju u PHP umesto da se koristi template engine-a koji ce da obori perfomanse skripti. To je sve sto pokusavam da kazem. |
|
31. 12. 2006. | #17 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Samo recimo da template engine NE BI TREBALO da obara performanse celog sistema, a ti ne bi smeo da praljaš logiku aplikacije. Jednostavno to što preporučuješ drugima nema previše smisla po meni i loš je savet.
Primer sa PHP templateima. Kontroler (logika za obradu korisničkog zahteva po MVC patternu): PHP kôd:
PHP kôd:
Btw, koristim "<?=" umesto "<?php echo". Kad treba da objavim kod jednostavno pokrenem jednu build skripticu koja se postara o svim pratećim detaljima
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 31. 12. 2006. u 20:57. |
01. 01. 2007. | #18 |
novi član
Datum učlanjenja: 30.12.2006
Lokacija: Kula
Poruke: 6
Hvala: 0
0 "Hvala" u 0 poruka
|
Kao prvo: Ljudi Sretna Vam Nova Godina!
e sad, drago mi je da se ovde zakuvalo na topiku... to je i bio jedan od ciljeva... ima tu jos nedorecenih argumenata... vidim da ljudi pricaju o stvarima o kojima znaju, i svako ima svoje argumente. dosta se tu polazi i od licnih preferencija... ima to veze i sa mazohizmom meni je mucenje kada imam PHP kod u HTML-u... uvek mi je to smetalo, od prvog dana rada sa PHP-om... jednostavno mi se cinilo da to nije ispravno... ali verujem da nekima od vas to 'lezi'... da pojasnim: ja sam prvo sve 'trpao' u php fajl... (verovatno svi tako pocnu...) pa mi je to smetalo. pa sam presao na neke bezvezne, kompikovane template engine... pa mi to nije bilo dovoljno dobro... pa sam presao na Smarty... to mi se jako svidelo... ali sam mu ubrzo nasao puno mana... (da ne nabrajam sad, svi ih znamo...) znam da ga pola PHP svemira koristi, ali mene nervira i tacka... onda sam krenuo sa svojom klasom, i mislio sam da je super... (kada sad pogledam taj prvobitni kod, ne znam da li da se smejem ili da placem) sada sam razvio skroz drugacije resenje i opet mislim da je super (do sutra, verovatno...) kao sto rekoh sve je to subjektivno... i linija je tanka... nekad je bolje ovo, a nekad ono... ali niko mi nije odgovorio na ovaj argument za moju klasu: - BANDED REPORTS - header, footer, detail, detail_empty band-ovi, racunanje suma, proseka, i brojanje redova... to nema ni jedna meni poznata templating klasa sem ove na kojoj radim.... (ja sam to licno naucio u Delphi-ju sa ReportBuilder komponentom... i uvek mi se to cinilo kao prirodni nacin za ispisivanje izvestaja bilo kog tipa...) takodje moja klasa podrzava i sledeci slucaj (podvrsta banded report-a): imam header, detail i footer za neki izvestaj (moze biti bilo sta, recimo spisak potrosnje megabajta korisnika nekog ISP-a) u headeru je broj i ime korisnika, u detail-u je kolicina potrosnje za pojedinu sesiju, u footeru je zbir za korisnika, a na kraju ide zbir za sve korisnike... ja prosledim klasi templejt, i spisak korisnika sa potrosnjama iz MySql baze, sortirano po korisnicima, i kazem klasi da je break kolona ID_KORISNIKA. a u footeru za izvestaj dodam polje (%sum.potrosnja%) i tu je kraj sto se mog rada tice. klasa ispisuje sledece: korisnik br.1: Ime Prezime dan 1: 100mb dan 2: 20mb Ukupno: 120mb korisnik br.2: Ime Prezime dan 1: 100mb dan 2: 30mb Ukupno: 10mb ... i tako za svakog korisnika... klasa sama prekida podizvestaj kada se promeni ID_KORISNIKA, ispise footer i zbir potrosnje... na kraju izvestaja : UKUPNO SVI KORISNICI (%global.sum.potrosnja%) e sad, nije to nuklearna fizika, znam, ali to nisam na drugim mestima video... a cesto mi treba u web aplikacijama koje radim za klijente... a ako ne koristite templating, tu onda ima dosta koda da se doda na svaku stranicu... a kod mene je sve to 'out-of the box'... voleo bih da cujem vase misljenje o tome... .. sto se tice logike aplikacije i prezentacione logike to stvarno nije jedno isto i tu se 100% slazem sa Studen Ilijom. Jednostavno mora postojati i logika prezentacije, baz zbog tog bojenja parnih i neparnih redova u tabeli (trivijalan primer, ali ako nema mogucnosti da se implementira prezentaciona logika u templejt, onda ta logika mora u logiku aplikacije, a tamo joj nikako nije mesto: BABE I ZABE !!!) ... e da jos nesto: jedan od osnovnih kriterijuma zasto me nervira Smarty je zato sto previse toga moze da se uradi u templejtu pa onda ljudi tu trpaju i ono sto tu ne treba biti. hocu da koncipiram svoju klasu tako, da u templejte NE MOGU da se ubace stvari koje tamo ne spadaju, vec samo prezentaciona logika i HTML (eventualno jScript). tu mi treba pomoc i sugestije... i molim vas da se okanete price "a, to ti nece valjati, to ne ide..." itd itd. taj pristup me totalno nervira... ako nemas predlog kako nesto popraviti nemoj ni da kritikujes, to je moj moto. hajde da vidimo sta ne valja, pa da popravimo... u svakom slucaju hvala na feedbacku stvarno je korisno... krecem sa proucavanjem mogucnosti kompajliranja i kesiranja u klasi... svi predlozi i smernice su dobrodosle... kesiranje znam kako cu, to je lako, ali kompajliranje tu sam vec malo zatecen... videcemo... ajd poz, UncleBlob |
01. 01. 2007. | #19 |
profesionalac
Professional
|
Srecna Nova!
I sorry unapred za skretanje sa teme... ali, nakon XSLT-a lichno ne vidim potrebu za yet-another-template-engine-om. Ne mislim na ovaj konkretno, vec uopshteno. Mozhda je functional programming preveliki stepenik, i mozhda je XML na loshem glasu kod web developera, ali i nakon najbolje volje da koristim neki od popularnih template engine-a opet sam se vratio xslt-u. |
01. 01. 2007. | #20 | |
Super Moderator
Knowledge base
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
|
Citat:
Nikom ja nista ne preporucujem, samo sam govorio kako ja resavam problem bez logike u template-u. Kada razvijam neki softver, uvek imam na umu da cu delove tog sotvera moci da iskoristim i u buducim projektima. Svoje buduce projekte ne znam, i ne znam hocu li praviti web softver koji treba da se izvrsava po 10-50 puta u sekundi [za sajtove koji imaju po milion hits dnevno]. Zato uvek biram resenje koje ce moci da radi i pod svim uslovima. Sta cu, oduvek sam voleo optimizovan i brz kod. Navikao sam da uzimam brza resenja, koja pak nisu toliko low-level, vec daju komfornost, a sa druge strane ne uticu bitno na perfomanse. Znaci logika 'uzimaj samo onoliko koliko ti je potrebno'. Template vidim kao podelu posla izmedju programiranja i dizajna, i to i u praksi tako biva kod mene - dobijem gotov HTML od dizajnera [ponekad mi dizajner sam ubaci template tag-ove, ako sam mu objasnio sta i kako], i ja samo uradim PHP skriptu... a one nikad ne predju ni 20 linija, i uglavnom iskopiram kod iz prethodnih projekta. Ceo sajt odradim za 1 sat. Dakle, sta sam dobio ovim: - dizajner je svoj posao odradio rutinski, bez ikakvih konsultacija samnom [uhodani smo, on zna osnove template-a] - dizajn moze da se menja uvek, ne zavisi od mene programera - ja svoj deo posla odradim isto rutinski, softver se ne mesa sa dizajnom - ceo posao je gotov za najkrace moguce vreme. To je tako u praksi kod mene. Takva je podela posla. Zasto bih ovde menjao ista, kada sve funkcionise besprekorno? Ja cak i ne bi zeleo da zamaram dizajnera logikom template-a. Njegov posao je da uradi dizajn. Moj posao je da napravim 'mozak aplikacije', i voleo bih da ta logika bude na jednom mestu - u mojoj skripti. Sta bi bilo da hocu logiku u template-u? 1) morao bih dizajnera da ucim sta je to, kako radi, kako da napravi [cak i da ja preuzmem posao na sebe da odradim logiku u template-u, desice se da dizajner treba da izmeni dizajn, i onda cu opet morati da objasnjavam sta i kako] [p.s. a sa druge strane - osnova template-a se objasni dizajneru za 5 min ] 2) imao bi pad perfomanski aplikacije, a ja ne volim to, jer uvek po navici pisem softver koji ce da izdrzi i veliki hits Zasto bih sebi to radio, samo da bi prezentaciona logika [koja se uglavnom svodi na liniju-dve u php kodu] bila u template-u... Ja kreiram logiku, i sta vise, voleo bih da je sva logika na jednom mestu - u skripti Uostalom, logika pripada programiranju... programiranje je logika. A da je razdvajam - iskreno cu vam reci - ne vidim potrebe. Ja je radim u oba slucaja... pa bih sta vise voleo da sva logika bude na jednom mestu - na mojoj teritoriji odgovornosti - u skripti. A do sada nisam video da nesto ne moze da se napravi upotrebom obicnih blokova i promenljivi, i linijom-dve PHP-a. I opet cu napomenuti, ovo je samo ono kako ja radim, a objasnio sam i zasto. Jednostavno - takva mi je podela posla. Dizajner dizajnira, i ne radi posao koji je programerske prirode. Ne savetujem nikoga, samo pricam o mom iskustvu, koje je takvo kakvo je zbog mnogih faktora. I voleo bih da vidim primenu tih komplikovanijih template klasa na sajtovima gde je veliki hits. P.S. Izvinjavam se za offtopic. Ako je prevelik - splitujte temu P.P.S. Takodje svima srecna nova godina Poslednja izmena od Peca : 01. 01. 2007. u 07:37. |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Traži se, profesionalna programerska tvrtka PHP5/MySQL/smarty template engine/ | jurman | Poslovne ponude i zapošljavanje | 0 | 19. 02. 2007. 12:22 |
Domaci Direktorijumi ? | [nq] | Marketing i SEO | 9 | 06. 09. 2006. 23:13 |
Smarty za PHP5 | bluesman | PHP | 5 | 08. 08. 2005. 23:19 |
Xtra lite AJAX color picker | WinterMute | (X)HTML, JavaScript, DHTML, XML, CSS | 8 | 04. 07. 2005. 10:15 |