DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 28. 11. 2005.   #31
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

osnovni princip svakog inzenjerstva, pa i softverskog je da moraju da postoje prakticna opravdanja zasto se nesto radi na odredjeni nacin...tako da pokusaj da budes argumentovan kad dajes izjave kako taj i taj nema pojma, cisto da ovo ne bi bio obican flejm war, nego konstruktivna rasprava..

Ja sam koristio Smarty dosta, pre toga sam templejt sistem iz phpLib-a, a pre toga koristio sam TT2 za perl (vrlo slican koncept), a pre toga smo imali sopstveni templejt endzine napisan u perlu i C-u kao cgi (koristen za cleverform.com dok sam jos radio tamo)... tako da nije da sam neko kome su templejti strana stvar, i naravno da podrzavam upotrebu templejta, samo sto sam tek nedavno postao svestan da je PHP zapravo jednostavan, ali vrlo efikasan templejt endzine sam po sebi...

Dakle nije pitanje uopste da li koristiti templejte ili ne, nego da li praviti templejte u PHP-u direktno, ili koristiti Smarty koji ce automatski da ti izgenerise templejte, koji su isto tako u PHP-u (ali vrlo cudnom i prilicno neefikasnom u poredjenju sa rucno kreiranim)

Ako se covek samodiciplinuje da od php-a u templejtima koristi iskljucivo echo varijabli, if-else, petlje i poziva funkcija, i uz to koristis skracenu sintaxu za php onda nema velikog gubitka na citljivosti templejta ne-programerima.

Ostaje druga velika prednost Smartija sto on ima gomilu gotovih funkcija, ali to su vecinom obicne php funkcije koje se vrlo lako mogu odraditi i u cistom php-u...nista te ne sprecava da napravis (vecina nas to vec ima) svoju biblioteku util funkcija koje ce se onda pozivati iz templejta. Isto vazi i za pluginove, nikakav problem da ugradis i to u svoj sistem ako ti se svidja, to su ionako samo jedan include i jedan niz koji registruje callback funkcije, nije neka pamet...

Ostaje jos pitanje kesiranja, koje naravno mozes opet da odradis direktno...jedna stvar koju ne znam kako bi moglo da se laku uradi je Smartijeva mogucnost da keshira samo delove templejta, to je odlicna stvar...ali realno vecina ljudi koje ja znam uopste ne koristi kesiranje u Smartiju...

I na kraju bottom line je da smarti olaksava stvari utoliko sto ima puno toga uradjeno, pa ga zato ja i dalje koristim (jer sam lenj da pravim sve iz pocetka), ali definitivno (IMHO) ne stoji tvrdnja da ne moze da se uradi ili da je losije onako kako autor onog clanka ili Ilija tvrde...

Petre, naravno da bih voleo i da procitam neku tvoju kontra-argumentaciju...nemam nista protiv da me ubede da nisam u pravu, ako zaista nisam...ali onda daj neke konkretne stvari, cinjenice, a ne metode srpskih politicara...

Poslednja izmena od ivanhoe : 28. 11. 2005. u 00:49.
ivanhoe je offline   Odgovorite uz citat
Staro 28. 11. 2005.   #32
Petar Marić
Python Ambassador
Master
 
Avatar Petar Marić
 
Datum učlanjenja: 06.06.2005
Lokacija: Novi Sad
Poruke: 602
Hvala: 28
27 "Hvala" u 17 poruka
Petar Marić će postati "faca" uskoro
Pošaljite ICQ poruku za Petar Marić
Default

Disclamer: Pun odgovor ću napisati ujutru

Najveći problem za mene, kao nekog ko uči da postane inženjer, nije ni čitljivost koda, ni perfomanse, ni keširanje, ni...

Ono što mene interesuje je sigurnost. Ako koristiš php direktno kao template jezik samo tražiš nevolju - čovek koji sređuje html markup onda može:
1. Da promeni ponašanje aplikacije - jako zeznuta stvar.
2. Da uz pomoć introspekcije sazna neke osetljive stvari o aplikaciji - zna prilično da zaboli ako tako skonta lozinke ili, perish the thought, olakša reverse engenering tvoje enkriptovane aplikacije.
3. ... (More to come after a good night sleep)
__________________
Python Ambassador of Serbia
Petar Marić je offline   Odgovorite uz citat
Staro 28. 11. 2005.   #33
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

ok, to stoji za sigurnost (to je i Ilija pomenuo uostalom), ali to vazi iskljucivo za varijantu gde prvo imas neke korisnike koje ne poznajes, drugo oni mogu da menjaju templejte. To je jako specificna sredina, gde pored php-a postoji opasnost od milion drugih stvari (pristup tudjim fajlovima, javascript napadi..)

Ali 99% projekata nisu takvi, uglavnom radis sam ili sa jos par ljudi na sajtu, a korisnici (ako postoje uopste) neimaju nikakav pristup templejt sistemu....a ljudi sa kojima radim ionako imaju pass za ftp i bazu, kako da rade bez toga...Jedino da kazes da ce neko nevestom upotrebom php koda da nesto zezne, ali kao sto rekoh fora je da se praktikuje disciplina sta sme da ide u templejte. Ako samo prikazujes podatke i pozivas high-level funkcije nema sta da se zezne slucajno (ili bar isto toliko moze da se zezne iz
Smartija, zar ne?)
ivanhoe je offline   Odgovorite uz citat
Staro 02. 12. 2005.   #34
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

kao sto ivanhoe rece, a i koliko je meni poznato, smarty ima {php} tag, pomocu kog u template mozes da ubacis php kod koji hoces. toliko o smartiju i sigurnosti ako se gleda iz tog ugla. druga je stvar to sto neko ko menja smarty template najverovatnije mora i da ga uploaduje, a da bi ga uploadovao, najverovatnije ce imati pristup ili celom vhost root-u, ili makar direktorijumu koji sadrzi ceo template koji se edituje - tu dolazimo do pitanja - hoces li nekom kome ne verujes dozvoliti da pravi template za tvoju state-of-the-security aplikaciju? kada je neko paraoican, onda je paranoican na svim poljima...

ja sam za sebe odradio neki mini-template engine, koji je na neki nacin imitacija smartija, ali samo u odredjenoj meri. taj moj engine guta sirov php, ali ima neke osnovne skracenice koje smarty koristi (tipa, varijabla se ispisuje sa {$var}, postoje if/else/elseif, foreach strukture, vise-dimenzionim array-ima moze da se pristupa kroz {$var.lvl1.lvl2....}, itd), ali to su samo neke skracenice da ucine kod preglednijim. dalje, sam template engine podrzava template injection, tako da je moguce spucati template iz baze (umesto iz fajla na disku), engine ga renderuje i to lepo zapise u fajl na disku, tako da sledece pozivanje istog template-a (u slucaju da nije promenjen) samo include-uje php kod. nisam napravio pravo smartijevo keshiranje, jer po meni to ima smisla samo (i samo) ako je sajt zaista (jako) posecen. dakle, mislim da parsiranje template-a nije ni izbliza posao kao na primer generisanje grafikona i ostalih slika pomocu gd-a gde je cachiranje gotovo "a must".

nista revolucionarno, ovo sam opisao samo u slucaju da je nekom potrebno nesto brzo i jednostavno (i nedovoljno testirano, da bih ga proglasio robusnim), a opet funkcionalno. (/me looks at ivanhoe's post #7 since 1.5 months ago..)
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams
zextra je offline   Odgovorite uz citat
Staro 02. 12. 2005.   #35
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Smarty ima jednu jako zgodnu stvar: resurse. Plus možeš limitirati potencijalno nesigurne "tagove" ({php} npr). Zato sam ga koristio kao osnovu za template sa kojima korisnici dolaze u kontakt (kroz admin aplikacije). Sve ostalo je stari dobri PHP.

Poslednja izmena od Ilija Studen : 02. 12. 2005. u 17:39.
Ilija Studen je offline   Odgovorite uz citat
Staro 02. 12. 2005.   #36
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

ma smarty ima dosta jako zgodnih stvari
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams
zextra je offline   Odgovorite uz citat
Staro 02. 12. 2005.   #37
Petar Marić
Python Ambassador
Master
 
Avatar Petar Marić
 
Datum učlanjenja: 06.06.2005
Lokacija: Novi Sad
Poruke: 602
Hvala: 28
27 "Hvala" u 17 poruka
Petar Marić će postati "faca" uskoro
Pošaljite ICQ poruku za Petar Marić
Lightbulb

Ccc, em što me čitate šta pišem, em što ne čitate dokumentaciju:
1. Smarty ima jednu lepu promenljivu klase koja se (suprise, suprise) zove $security tako da sve te priče o php injection padaju u vodu ako znate da konfigurišete smarty. Nasuprot tome, želeo bih da vidim kako ćete u svojim "mixed PHP/HTML kod" template-ima da zabranite izvršavanje arbitrary php koda.

2. Zextra, keširanje je odluka vezana za poboljšanje perfomansi. O merenju perfomansi i poboljšanja u istim sam ti već dao savet.

3. Ako ne shvatate koje su to prednosti koje dobijate korišćenjem Smarty-ja (ili čak bilo kog drugog template engine-a) u odnosu na mixed PHP/HTML kod, savetujem Vas da pažljivo pročitate ovaj članak. Ako bude bilo nedoumica slobodno postavite pitanja, ali tek nakon što ste pročitali celokupan članak.

4. I, molim Vas, dosta mi je argumenata nepotkrepljenih činjenicama:
- Smarty src je preveliki. Smarty biblioteka kod mene na disku zauzima 310KB (317.636 bajta za picajzle). Da li to predstavlja problem za kapacitet na disku na Vašem web hosting nalogu? Čisto sumnjam. Doduše, može predstavljati problem da se dotična biblioteka prenese na server, ali to ne morate raditi svaki put kada vršite ažuriranje sajta.
- Smarty je prespor. Just the facts Jack. Napravi benchmark-e, ostavi kod istih i rezultate pa ćemo da uporedimo koliko je veliko to usporenje koje Smarty unosi.
- Moja home-made XY biblioteka je bolja/lepša/brža od Smarty biblioteke. Ne isključujem mogućnost, samo da li bi bio ljubazan da podeliš tvoj kod sa nama i ostatkom sveta - bilo bi lepo kad bismo mi mogli to isto da uvidimo i onda koristimo ono što nam je bolje/lepše/brže.
__________________
Python Ambassador of Serbia
Petar Marić je offline   Odgovorite uz citat
Staro 03. 12. 2005.   #38
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

aman Petre, a da ti procitas sta ljudi ovde zapravo pisu ??

Uporno izigravas advokata upotrebe templejta, a naravno da svako normalan podrzava upotrebu templejta, pa niko to ne dovodi u pitanje... samo je pitanje da li ti treba poseban jezik za to, kad vec imas php? To nije isto kao pisanje html/php spageta... ako cemo pravo onda samo XML/XSLT templejti imaju smisla, sve ostalo su spagete ovako ili onako...

Sto se ostalih komentara tice:

Koliko cesto pravis sajt sa korisnicima kojima neverujes, a mogu da menjaju templejte? Evo ja sam radio puno toga (radim web programiranje od 2000-te i od toga zivim), i jos nikad nisam pravio takav sajt... jedino CMS-ovi za vise korisnika imaju taj problem, a takvih projekata ima sveukupno da ih na prste prebrojis... meni bar jos niko nije nudio da uradim neki, ti ako si radio, bas bih voeo da cujem ?

naravno da u takvoj sredini neces dozvoliti direktnu upotrbu php-a, ali realno je u takvoj sredini i upotreba Smartija securtity risk, pogleda change log za Smarty pa ces videti prilican broj security propusta koji su pronadjeni vremenom...kad god koristis neki opste poznat sistem(CMS, template engine, etc..), onda znatno povecavas sanse da te neko uhakuje... za zextrin licni templejt endzine niko nije cuo sem njega, niko nije video kod, samim tim manje su sanse da neki klinac iskopa na IRC-u uputsvo kako da dropne bazu... pogledaj sta se desilo staroj Zoni, zbog rupa u IPB-u...

Sto se perfomansi Smartyija tice on je najbrze sto moze da se postigne takvim pristupom, ali ne treba biti genije pa shvatiti da automatski generisani php ne moze da se meri sa rucno pisanim, da ne pominjemo sav glue kod koji mora da se ubaci, i overhead zbog kreiranja Smarty objekta... u vecini sajtova to i nije neki problem, ja koristim Smarty godinama bez ikakvih problema, ali da budemo iskreni ja bas i nisam pravio neke heavy-duty sajtove...ljudi koji jesu pravili takve sajtove kazu da treba izbegavati Smarty za to, zbog overhead-a i ja cenim njihovo misljenje...that's all..
ivanhoe je offline   Odgovorite uz citat
Staro 03. 12. 2005.   #39
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

dakle, Petre, tebi smarty odgovara, nekom drugom (npr. meni) delimicno odgovara, a nekom trecem ne. e sad, ako ti pokusavas da ubedis nekoga kako treba da koristi smarty (a on to bas nece jer nije bio u stanju da procita kompletnu dokumentaciju), zasto TI lepo ne pokusas da razuveris njega po pitanju, recimo, te iste brzine koja je problematicna u ovom slucaju, time sto ces naci argumente u korist smartija i kontra-argumente u korist neceg sto taj hoce da koristi? mislim, ovo je cist flame-wars, ako cemo iskreno. to me podseti kako sam ja svojevremeno pokusavao da sve neke ljude ubedim da je perl zakon jezik

dakle - koristiti tpl engine ili ne je samo stvar izbora.

uzgred, brzina je vrlo vrlo relativna stvar...

p.s. procitao sam tvoj predlog po pitanju optimizacije skripti, tnx.
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams
zextra je offline   Odgovorite uz citat
Staro 24. 12. 2005.   #40
bojan_bozovic
expert
Master
 
Avatar bojan_bozovic
 
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
bojan_bozovic is on a distinguished road
Default

Sad me flejmujte ako treba:

PHP je sam template engine.
Koliko je koriscenje Smartyja bezbedno, to je pitanje, jer je to opensource program i reversing koda nije problem, kada vec govorimo o radu u timu. Dizajner moze da ubaci PHP preko nekog exploita u Smarty, i BTW zasto dizajner mora da pise HTML uopste? Ne moze li to webdeveloper? Uz takvo resenje rada u timu, nema problema sa insertovanjem PHP/SQL-a kako bilo, uz Smarty ili bez njega
bojan_bozovic je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Zašto ne radi 301 redirekcija? pcigre Regular expression i htaccess 7 09. 04. 2008. 13:13
Zašto, bre? bluesman Obaveštenja, predlozi i pitanja 64 10. 09. 2007. 11:22
Zašto? Zato! bluesman Opušteno 3 25. 01. 2006. 18:10


Vreme je GMT +2. Trenutno vreme je 04:10.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.