Citat:
a i ko bi mi drugi odgovorio
Mogao sam odmah mail da ti poshaljem
;) pa sto nisi ;) (btw, jel ovo za mpulse ili sta. ako jeste, opstu raspravu mozemo nastaviti ovde, a o tome cu privatno da ti izobjasnjavam neke stvari koje ja planiram da predlozim).
Citat:
Iskreno nisam skoro nishta o njima znao jer sam uvek bio u fazonu "sve moje" [iako svi znamo da smo veliki deo jezika nauchili iz gomile primera], a niko nije previshe obrazlagao zashto bash Smarty.
pa "sve moje" i ucenje iz primera nisu kontradiktorni. ja sam vrlo dugo koristio taj princip gledanja tudjeg koda, ali primenjivao na moj nacin.
a za obrazlozenje zasto bas smarty, sacekaj moj clanak (pisem ga za php|arch magazin, ali sam ipak shvatio da mi je tako dugacak text lakse napisati na srpskom, pa posle prevesti. sada se ovde vezbam i konkretizujem svoje misli kroz odgovre na pitanja, pa zato tako nasiroko oddgovaram. ;)
Citat:
Da li sam dobro to pokapirao u mojoj ludoj glavi?
Da li je to stvarno tako i da li ima josh neshto shto ide u prilog/korist samostalnom pisanju funkcija?
Sve ovo pitam jer konkretno iz ovih stvari nemam praxu i sve shto zakljuchujem, zakljuchio sam prostim "mashtanjem", tako da sam svestan da lako moze da se desi da sam neshto pogreshno "izmashtao".
dobro si pokapirao. i ja sam vrlo slicno razmisljao (oklevao da koristim tudji kod i sl). posto mi ni jedan template sistem nije BASH odgovarao, ja sam poceo da pisem svoj. prvo sam poceo sa obicnim varijablama. pa sam dodao petlje (za iteraciju kroz nizove - za liste i tabele). pa sam dodao if-ove, pa includove (i jednu funkciju koju nema cak ni smarty, ali planiram da je dodam, a to je include DELA drugog fajla, nesto tipa {include=file.tpl#treci_deo} trebalo mi je za jedan projekat, a ispalo korisno uopste)
ali kada sam video smarty, videh da on ima sve to, i mnogo vise. a i to sto nema, vrlo lako se dodaje (to je po meni glavna stavka u smartyju).
Citat:
Znachi najvishe me zanima to da li je smarty bolji od "mojih funkcija" samo zato shto mi skracuje vreme da ih ne bih pisao jer vec postoje?
prvo to. pa onda druge stvari. kako ti sam kazes, smarty je najpopularniji sistem. time sto ga ti koristish, omogucuje (olaksava) drugom programeru/dizajneru da nastavi da radi na tom projektu bez mnogo muke. a posto je najpopularniji, najvise ljudi ga zna, i ne mora ponovo da ga uci...
onda je vrlo bitna stavka dokumentacija. recimo, radish neki sajt gde ti treba da radish php deo, a dizajner (bash dizajner, ne zna programiranje) treba da radi html dizajn. ako bi koristio svoj sistem, onda bi morao da mu natenane objasnjavash sve kako i sta da radi da menja/dopisuje i slicno. josh ako je dizajner stranac, pa morash sve to na engleskom (kao sto se meni desilo)... ehh...
zato recimo koristish smarty, i njega samo uputish na
http://smarty.php.net i kazes mu da skine i pogleda dokumentaciju (ima poseban deo za dizajnere) i zavrsio si posao. nema objasnjavanja, nema nicega...
josh jedna prednost je sto dosta ljudi pise, odrzava i testira kod, pa se svi bagovi brze uocavaju...
Citat:
Evo konkretno primer sa bojenjem svakog drugog reda koji si naveo. Koliko shvatih smarty za te loopove koristi section "komandu" kojoj je jedan od properites [iteration] govori koji put po redu prolazi kroz loop i na osnovu toga moze da se boji svaki drugi red ... ili josh lakshe pomocu cycle funkcije[ispravi me ako greshkim, tek sam pocheo da chitam smarty doc.]. Zar to ne bih u svojoj "loop funkciji" da reshim prostim dodavanjem jedne varijable u funkciju koja ce da broji koji put se prolazi kroz loop, a sve te promene bi se desile iskljuchivo u logichkom [programerskom] delu?
to moze u smartyju na vise nacina. i da, mogao bi ti to da odradish u php kodu, ali sta ako kasnije dizajneru "dune" da mu se vise svidja bez shara, ili sa sharama posle svaka dva ili tri reda. ili cak ako hoce neki extra pederaj tipa sahovnica (crno-belo-crno naizmenicno). opet bi ti morao da menjash kod. i drugo, sta bi ti upisao u tu dodatnu promenjivu? boju reda? sta ako dizajner oce da promeni boje u tabeli?
Citat:
Ne odvajam zato shto treba neki totalni nepoznavalac programiranja da odrzava aplikaciju, nego da se olaksha zivot "odrzavachu prezentacije" [kako "lepo" recheno], bilo on menjao kod ili dizajn.
da, ali sigurno ces raditi i na projektima gde ce IPAK neki "totalni nepoznavalac programiranja" da radi dizajn. a zato ja pricam o dizajnerima kao onima koji ce da kreiraju sablone. naravno, to mozes i ti da radish, ali to sam podrazumevao da ako oni mogu da ga nauce, da mozes i ti, ili bilo ko ko radi u php-u (ovo bez uvrede za same dizajnere).
Citat:
Za kraj samo da kazem - nije sintaksa od Smartyja teshka, nema tu shta da se ne shvati. Ne verujem da postoji osoba koja zna PHP a da ne moze da pokapira Smarty, nego sam kratkim chitanjem dokumentacije shvatio da Smarty ima poprilichan broj svojih funkcija i imam utisak da bi uchenje njega lichilo na uchenje novog jezika.
Evo npr da pochnem od te proste a korisne cycle opcije koje nema u php-u pa preko svih ostalih koje se svakodnevno koriste a specifichne su za Smarty.
kada sam rekao sintaxa, mislio sam i na sve te funkcije i logiku u smartiju. jeste. tu si u prilicno u pravu da je smarty "svoj jezik", ali kao sto rece neko na smarty-dev listi, "smarty NE pokusava da izbaci svu logiku iz sablona, ali pokusava da ostavi SAMO onu logiku koja utice SAMO na izgled aplikacije" (u suprotnom, ta logika bi morala da bude u samoj aplikaciji).
da te opet podsetim na baze (suprotan kraj u MVC arhitekturi). sve ozbiljen baze imaju svoje "jezike" (PL/SQL, T-SQL, PL-PG/SQL i sl) jel su uvideli da je i kod samog procesa cuvanja podataka (kao i kod dizajna aplikacije) potrebno malo logike, koja bi u suprotnom (da nema tih jezika) morala da se nadje u samoj aplikaciji...
uff.. eto ja opet poduugacko... ali neka.. ako ima ko da slusa, ja cu da nastavim da se vezbam... ;)