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 22. 10. 2009.   #1
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao robi-bobi Pogledajte poruku
stoji to sto zidoo kaze za PHP FW: sve je lepo dok ti ne zatreba nesto custom

posto imam drugare koji pisu u drugim jezicima i tamo koncepcija FW-a postoji vec neko duze vreme, pitam sta tamo rade. odgovore oni meni:
pa nista, not supported feature
Kao neko ko piše u drugom jeziku u kome koncepcija FW-a postoji već neko duže vreme, mogu da kažem da ovo nije tačno, i da ortaci ili ne znaju, ili ih mrzi...

Ono što ti FW omogućava je da 90% funkcionalnosti ne radiš pešaka, kao što radiš npr. u čistom PHP-u, to jest drastično skraćuje vreme i broj linija koda za 90% funkcionalnosti. 10% funkcionalnosti nije moguće ostvariti prečicama koje nudi FW i onda to praktično odradiš pešaka, tj. kao i da ne korisiš FW. (Procenti su naravno odokativni, ali je ideja ta.)

E sad, tačno je to da kad u 90% elegantnog high-level koda treba da ubaciš 10% prljavštine (banalan primer, neki custom SQL upit), nije ti prijatno i to đubre dosta bode oči, ali kad uporedim to sa 100% koda koji je "custom", naravno da ću se opredeliti za prvu varijantu (ili, eto, reći "not supported" ako me baš mrzi )...

Da rezimiram, nema razloga da i za PHP frejmvorke ne važi ista logika - ne uvode nikakav penalty, a donose baš dosta ušteda.

Naravno, pored brzine razvoja, frejmvorci donose dosta drugih koristi: standardizovana arhitektura aplikacije, lakše održavanje i uvođenje novih programera, veća sigurnost kroz out-of-the-box sisteme za sanitizaciju i validaciju korisničkog unosa, sistem za verzionisanje baze podataka, testing framework itd itd.

Poslednja izmena od jablan : 22. 10. 2009. u 11:13.
jablan je offline   Odgovorite uz citat
3 članova zahvaljuje jablan za poruku:
Staro 22. 10. 2009.   #2
misk0
majstor
Wrote a book
 
Avatar misk0
 
Datum učlanjenja: 30.01.2006
Lokacija: Lugano - Switzerland
Poruke: 1.251
Hvala: 219
106 "Hvala" u 67 poruka
misk0 će postati "faca" uskoromisk0 će postati "faca" uskoro
Pošaljite ICQ poruku za misk0 Pošaljite poruku preko Skype™ za misk0
Default

slazem se u potpunosti sa Jablanom.
misk0 je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #3
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

Citat:
Originalno napisao jablan Pogledajte poruku
Da rezimiram, nema razloga da i za PHP frejmvorke ne važi ista logika - ne uvode nikakav penalty, a donose baš dosta ušteda.
Slažem se, samo bih ja ovo ipak stavio uslovno: "ne uvode nikakav penalty". Ako ne uvode - onda super, ali ima ih koje se vuku samo zbog "zahtevnog" fw. Voleo bih da vidim neki veliki projekat sa velikim load-om koji koristi neki od pomenutih framework-a, ako imate neke primere - pošaljite (nema veze da li ste vi radili ili neko drugi).

Po meni, malo je mistifikovana reč "framework" zato izbegavam i da je koristim. Imali smo odavno neki izraz "hleb i mleko" za neke najobičnije stvari koje moraš da odradiš stalno, a smara te da ponavljanje iste radnje. Mislim da FW treba da te oslobodi tih muka, a za neke jako optimizovane stvari - mora da se radi custom. Naročito ne volim one automatski generisane querije, kada to vidim - naježim se.

Takođe, spominju se "code čistunci", baš mislim da takvima ne leže tuđi FW, uvek se nađe nešto što ti se ne sviđa.
__________________
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!
bluesman je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #4
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao bluesman Pogledajte poruku
Slažem se, samo bih ja ovo ipak stavio uslovno: "ne uvode nikakav penalty". Ako ne uvode - onda super, ali ima ih koje se vuku samo zbog "zahtevnog" fw.
To je tačno i izvinjavam se što nisam to naveo. Ali svi danas plaćamo neku cenu apstrakcije koju nam alati nude. Ni ti ne kodiraš svoje sajtove u asembleru, jel tako? Oslanjaš se da će PHP tvoje high-level pozive nekih funkcija i nekih metoda prevesti u dovoljno optimalnu sekvencu mašinskih instrukcija. Oslanjaš se na to da će SQL server pravilno optimizovati tvoj query. Itd.

Poenta je da je "prerana optimizacija zlo svih zala". Ako FW krene da se vuče, videćemo zašto i optimizovaćemo njegove query-je. Ili, još bolje, poboljšaćemo FW da se bolje snalazi u takvim situacijama. Nijedan od njih nije bogom dan, ima lošijih i boljih, na nekima se aktivno radi itd.

Citat:
Originalno napisao bluesman Pogledajte poruku
Naročito ne volim one automatski generisane querije, kada to vidim - naježim se.
Moram da te razočaram, jedan od glavnih aduta FW-ova su ORM-ovi, tj. biblioteke koje apstrahuju pristup bazi. Od toga niko pobeći neće.

Citat:
Originalno napisao zidoo Pogledajte poruku
ev kao negacijska grupa samo da u mane FW dodam sigurnost poso si ti naveo standardizaciju, tako da ako iskrsne bug u validaciji korisnickih unosa svi znaju da je tvoja aplikacija osjetljiva
Hehe, pa što onda ne pišeš sam svoj operativni sistem/jezik/bazu? Kadgod se u Vindousu, Linuksu, PHP-u ili MySQL-u (na čemu već teraš svoje programe) pojavi bug, tvoj program je osetljiv... :P

Poslednja izmena od jablan : 22. 10. 2009. u 15:30.
jablan je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #5
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

Citat:
Originalno napisao jablan Pogledajte poruku
Oslanjaš se na to da će SQL server pravilno optimizovati tvoj query.
Ja tu i vidim najviše problema - puno ljudi se oslanja na to na šta ne bi trebali da se oslanjaju

Citat:
Originalno napisao jablan Pogledajte poruku
Poenta je da je "prerana optimizacija zlo svih zala". Ako FW krene da se vuče, videćemo zašto i optimizovaćemo njegove query-je.
Pitanje je šta prestavlja termin "prerana optimizacija" odnosno sama reč "optimizacija". Ja sam zagovornik ideje da kada nešto radiš prvi put - odmah predvidiš sve moguće scenarije (šta god je moguće predvideti) i tako projektuješ i sistem i kod, uključujući i optimizaciju.

A kada imaš nešto završeno, pa kreneš da "optimizuješ" kada sve već funkcioniše, onda upadaš u zamku: kreiranje novih bug-ova. Ako si od početka krenuo sa "optimizacijom", onda odmah i rešavaš sve bug-ove, i kada je "završeno" - onda je završeno za sva vremena i nema šta da ideš kasnije da "dodatno sređuješ" kod.

Citat:
Originalno napisao jablan Pogledajte poruku
Ili, još bolje, poboljšaćemo FW da se bolje snalazi u takvim situacijama.
Tu je opet novi problem: ti "poboljšaš" (pretpostavljam da to znači "prilagodiš svojim potrebama"?) neki FW i radi super dok ne izađe nova verzija. A onda si u dilemi: da li da instaliraš novu verziju ili ne? Ako instaliraš - velike su šanse da izgubiš svoja "poboljšanja", ako ne instaliraš - gubiš sve dodatne features koje postoje u novijoj verziji.

Generalno, moj stav je da su ti "all purpose" FW jako zgodni za stvari koje se kreću u domenu: jednostavne do srednje komplikovane, a ako "uhvatiš" sebe da "poboljšavaš" neki FW, onda ili taj FW uopšte nije za tebe ili si prevazišao mogućnosti tog FW.
__________________
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!
bluesman je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #6
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao bluesman Pogledajte poruku
Ja sam zagovornik ideje da kada nešto radiš prvi put - odmah predvidiš sve moguće scenarije (šta god je moguće predvideti) i tako projektuješ i sistem i kod, uključujući i optimizaciju.
Pa pitam te lepo, zašto veruješ PHP-u i MySQL-u, a ne veruješ frejmvorku? Jel veruješ Smartiju? Gde je tačno ta tvoja granica poverenja?

Citat:
Tu je opet novi problem: ti "poboljšaš" (pretpostavljam da to znači "prilagodiš svojim potrebama"?)
Pa pre svega sam mislio na prijavljivanje bagova i pečeva razvojnom timu. Vrlo je mala verovatnoća da su problemi na koje naiđeš samo tvoji. "Prilagođavanje svojim potrebama" ipak ulazi u nešto što frejmvorci obično podržavaju: npr. ActiveRecord u Railsu ima metod find_by_sql, koji ti omogućava da zaobiđeš sve pogodnosti koji ti nudi ORM (znači cross-db kompatibilnost, parametrizovani upiti, sanitizacija SQL-a) i gruneš SQL kobaju direktno. Ta će metoda verovatno ostati u Railsu vo vjeki vjekov, nikakva nova verzija neće da je slomi.

Nema veze, odlutali smo sad u offtopic, ja mogu samo da kažem da me jako raduje činjenica da su (i) naši developeri skapirali da u frejmvorcima leži veliki potencijal, sve ih je više (a pretpostavljam i da su sve bolji i bolji) a jasno je da Railsu pripada dobar deo zasluga za to. Vidim da ni MS ne sedi skrštenih ruku, ASP.NET MVC je već u drugoj verziji, a na osnovu onog što sam video, struktura fajlova mu je maltene identična Railsu. Imitacija je najiskreniji stadijum laskanja.
jablan je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #7
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

Citat:
Originalno napisao jablan Pogledajte poruku
Pa pitam te lepo, zašto veruješ PHP-u i MySQL-u, a ne veruješ frejmvorku? Jel veruješ Smartiju? Gde je tačno ta tvoja granica poverenja?
Hajde kada me tako lepo pitaš da ti odgovorim

Prvo FW je još jedan layer između mene i PHP/MySQL i to sam automatski oprezan. Drugo, ne bih ja to mešao tako olako. Treće, nisam ga ja radio i ne volim da koristim nešto za šta nisam 100% siguran da znam tačno kako radi.

Dalje, ne verujem da postoji i jedan framework koji može da generiše kompleksan mysql query bolje nego "ručno" (pričamo o ljudima koji poznaju dovoljno mysql da mogu to da urade). Moguće je i to, ali je pitanje po koju cenu. Ako će FW da potroši više vremena da pripremi query i analizira ono što mu ti serviraš, nego da izvrši query - onda je bolje poslati direktno SQL string napisan ručno. To, naravno, nije bitno kada imaš neki mali-do-srednji sajt koji će da se vrti kako god se vrti i neće da se muči previše kakav god query mu pošalješ. Ali ako imaš sistem u kojem je svaka sitnica bitna, onda volim da pišem sve ručno (naravno, ne pričam o querijima tipa UPDATE x SET y=z, to prepuštam da odradi FW).

Takođe ne verujem da će FW da brine o security "sam od sebe", taj deo je daleko od moje "granice poverenja". Dakle ja verujem da će PHP, MySQL... Smarty... whatever, da odradi dobro "hleb i mleko" + tačno ono što mu ja kažem da uradi i tu je moj prag poverenja, čim krenem da se uzdam da će da odradi nešto umesto mene - imam problem sa tim. Možeš to da nazoveš i psihološki problem - meni je sve jedno - i dalje je problem. Video sam mnogo puta kako izgleda kada se generišu automatski, a video sam i mnogo puta "abuse" celog FW kada ljudi naprave jedan include file u koji ubace sve klase koje postoje i onda valjda očekuju od FW da im optimizuje njihov kod? I onda izjave kako je loš taj FW.

Kada pričaš o Smarty, ja sam baš dosta vremena proveo da vidim šta se tačno dešava, kako izgledaju ti "kompajlirani" fajlovi, šta se dešava prilikom keširanja... čak i sam proces kompajliranja, pa sam testirao sistem "sa i bez smarty" da vidim koji je tačno njegov "fingerprint". Ustanovio sam da mogu da mu verujem dovoljno da ga slobodno koristim za sve projekte čak i one najzahtevnije, ali postoje neke stvari koje ne prepuštam smarty-ju već odradim ručno, bilo da je to zbog toga što sam Smarty nije dovoljne fleksibilan u tom delu ili mislim da treba da bude (bar malo) bolje.
__________________
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!
bluesman je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #8
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao bluesman Pogledajte poruku
Dalje, ne verujem da postoji i jedan framework koji može da generiše kompleksan mysql query bolje nego "ručno" (pričamo o ljudima koji poznaju dovoljno mysql da mogu to da urade).
Ne znam koliko imaš iskustva sa ORM-ovima, ali mislim da malo mistifikuješ "generisanje query-ja". Nema tu nikakve mudrosti, u 99% slučajeva iz samog (Ruby, PHP) koda možeš da vidiš kakav će se SQL generisati. Evo primer iz dokumentacije:

Kôd:
Student.find(:all, :conditions => { :first_name => "Harvey", :status => 1 })
Jasno je na prvi pogled da se to prevodi na

Kôd:
SELECT * FROM students WHERE first_name = 'Harvey' AND status = 1
FW tu ne može baš puno da zajebe stvari.

Citat:
Kada pričaš o Smarty, ja sam baš dosta vremena proveo da vidim šta se tačno dešava ... Ustanovio sam da mogu da mu verujem dovoljno da ga slobodno koristim za sve projekte čak i one najzahtevnije,
Ok, onda je jasno, nemaš sad vremena da analiziraš frejmvorke, kad budeš imao, znaćeš do koje mere ćeš moći da im veruješ i kakve projekte ćeš moći da radiš u njima, a kakve ne. Dotad, ono...

Na kraju krajeva, koristeći Smarty, već si jednom nogom u frejmvorku. Pa ti vidi.
jablan je offline   Odgovorite uz citat
Staro 22. 10. 2009.   #9
bOkIcA
Bojan Abramovic
Professional
 
Datum učlanjenja: 16.01.2008
Lokacija: Novi Sad
Poruke: 232
Hvala: 30
47 "Hvala" u 30 poruka
bOkIcA će postati "faca" uskoro
Default

Citat:
Originalno napisao bluesman Pogledajte poruku
Tu je opet novi problem: ti "poboljšaš" (pretpostavljam da to znači "prilagodiš svojim potrebama"?) neki FW i radi super dok ne izađe nova verzija. A onda si u dilemi: da li da instaliraš novu verziju ili ne? Ako instaliraš - velike su šanse da izgubiš svoja "poboljšanja", ako ne instaliraš - gubiš sve dodatne features koje postoje u novijoj verziji
Moguce je prosirivati i menjati vecinu funkcionalnosti core-a i biblioteka koje ostaju i posle upgrade-a.
bOkIcA je offline   Odgovorite uz citat
Odgovori



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
Mobile development frameworks robi-bobi Web aplikacije, web servisi i software 11 13. 09. 2010. 20:10
Frameworks i SEO martinluter Web aplikacije, web servisi i software 17 03. 08. 2010. 12:00
Frameworks performance arena: Symfony vs Rails vs Django Petar Marić Programiranje 5 21. 07. 2006. 13:46


Vreme je GMT +2. Trenutno vreme je 16: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.