DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   PHP frameworks, again (http://www.devprotalk.com/showthread.php?t=7873)

robi-bobi 16. 09. 2009. 14:10

PHP frameworks, again
 
nismo skoro o frameworcima :D

gledao sam popularnije php frameworks pre nekoliko godina i resio da mi je zivot lepsi kad koristim svoj kod (gledao = koristio u 1-2 projekta)

imao sam projekat na kome je bilo radjeno i trebalo je da se odrade neke sitnice samo
korisceni framework je bio PRADO
tad sam se setio zasto u pocetku nisam otisao ka .NET-u ...

zend framework je tad bio jos mlad i menjali su stalno strukturu i API - neozbiljno. ok, bili su beta, sad koliko cujem opet ima problema izmedju poslednjih 2 minor verzija

symphony - previse automatizovano mi se cinilo tad. a i ne volim da pored PHP-a (koji je idealan za templates, ako se koristi pametno), pored smarty-ja (koji koristim), sad ucim i neki .yml

koristio cake 1.1 u 2 projekta
najvise mi se dopao, ali nije imao neke stvari tipa pravi multilanguage, koji mi je napravio takve probleme da sam se naljutio i opet se vratio na licne biblioteke


proslo je neko vreme
ja postao lenj programer, frameworks postali bolji (mozda)

nisam sad puno gledao, uglavnom ZF mi je malo tezak, uzeo sam neki shop da pregledam - shvatih da ja od programiranja ne razumem nista :D

cake je izgleda dosta ok, a i blizak je mom nacinu rada

symphony bi trebao pokriti ono za lenjost tako da je opet u igri :D

ko sta koristi, zasto je izabrao to resenje, neke prednosti i mane iz prve ruke?

bluesman 16. 09. 2009. 15:09

U se' i u svoje kljuse ... i evolucija :)

Koristim svoj framework koji odavno guram i vremenom stalno evoluira kako dozvoljavaju mogućnosti i potrebe.

mangia 16. 09. 2009. 15:11

trenutno CI

bOkIcA 16. 09. 2009. 15:12

CodeIgniter
- vrlo fleksibilan, sve je prosirivo i ne prisiljava na striktno kodiranje
- eksremno mali footprint, zato vazi i za jedan od najbrzih
- godisnje svega 2-3 nove verzije
- odlican help
- odlican komjuniti
- kriva ucenja vise nego dobra
- raspakujes i radi :)

Mozda deluje poprilicno subjektivno ovako napisano ali eto ja ga koristim gotovo 3 god. i tesko mi da se odlepim.

skaarj 16. 09. 2009. 15:20

Koristio ZF, ali posle problema sa nekompatibilnoscu izmendju dve minor verzije koji su se desavali skoro redovno odustao sam od njega.

Sada CI. Odlicna stvar. Nije idealan ali da li postoji takav?

Uvek u potrazi za necim boljim, ali sada zavrsavam nekoliko projekata u CI pa cemo da vidimo sta ce se u medjuvremenu desavati.

Blood 16. 09. 2009. 15:31

Ja sam nedavno presao na Cake i mogu reci da sam prezadovoljan. Veliki komuniti, dosta vec gotovih helpera i komponenti, ok dokumentacija, lepo formatiran kod. Uglavnom lako je snaci se u njemu. Svaka preporuka.

Off Topic:
Inace, u zadnje vreme imam prilike dosta da radim sa magentom koji je pisan u ZF-u, i mogu reci da mi nikad ne bi palo na pamet da predjem sa Cake-a na ZF.

dootzky 17. 09. 2009. 17:35

CodeIgniter

- brz, lak, jednostavan, minimalisticki
- veliki community, perfektna dokumentacija, dobar forum
- gomila vec gotovih uradjenih spremnih pluginova/helpera/biblioteka (bilo da je captcha, paypal ili googleMaps..)
- standardan i dosta prosiren, tako da je lako naci nove kolege i kvalitetne programere, a samim tim je i cistiji kod

jedino "bolje" od CodeIgnitera bi "trebalo" da bude Kohana, sto je ustvari samo fork CI-ja, ali je to framework optimizovan samo za PHP5, ima nesto manji community, mozda diskutabilniju dokumentaciju, ali overall - ovde ga svi hvale, tako da cu i ja vrlo verovatno dosta skoro da ga probam i stavim na 'pravi test'. :)

cheers,
dootzky

MorenoArdohain 17. 09. 2009. 17:47

Cekajte samo da izadje novi CI :1059:

robi-bobi 17. 09. 2009. 18:51

ok, znaci da je vreme da pogledam i CI :)
hvala

ivanhoe 17. 09. 2009. 19:25

Kohana i CI su super, najblizi mojoj logici, ali mi je malo glupo da prelazim na tudji kad vec imam svoj kod za vecinu osnovnih stvari...

robi-bobi 17. 09. 2009. 19:54

stvar je u tome sto sam resio da prenapisem moj base (nije framework)
da reorganizujem malo stvari, sakupljalo se tu godinama ponesta a nema se uvek vremena da se skocka
nije samo to, naravno, tokom vremena shvatim da neke stvari mogu i bolje
itd itd

pa rekoh pre nego krenem, da overim kakvo je stanje

agvozden 21. 09. 2009. 02:06

Lično, koristim svoj framework (koji je u stvari CMS).

Nekako mi se Kohana čini rešenjem u kome bih mogao da se oprobam. Ono što je problem kao i kod CI jeste nedostatak imena koje stoji iza toga, a to zanči da se ne zna dokle će to kao projekat da živi.

Zend je nešto što ima ime (brand), ali je ogroman, za neke stvari spor, za učenje težak... Malo me je iznenadilo što kažete da ima razlike u minnor verzijama... Ali je logično rešenje sa menadžerske strane.

jasmanac 21. 09. 2009. 09:11

CI ce sigurno dugo trajati jer nije od juce. Pogotovo sto ispred sebe ima odlican komercijalni proizvod koji su velike narodne mase prihvatile i cija ce v2 biti kompletno uradjena u CI.

holodoc 21. 09. 2009. 16:04

Citat:

Originalno napisao jasmanac (Napišite 73384)
CI ce sigurno dugo trajati jer nije od juce. Pogotovo sto ispred sebe ima odlican komercijalni proizvod koji su velike narodne mase prihvatile i cija ce v2 biti kompletno uradjena u CI.

Iako nisam neki preterani ljubitelj PHP framework sistema ako bih mogao da izdvojim neki od njih za neki od svojih projekata CodeIgniter bi verovatno bio u najužem izboru. Čak štaviše koristio sam ga u nekoliko projekata rekao bih srednje veličine i moram da priznam da se veoma dobro pokazao. Izuzetna brzina, "out of the box" princip instalacije i relativno dobra podrška zajednice su neki od bitnih faktora koje po meni idu u prilog ovom sistemu. Ono što ipak mislim da će možda predstavljati problem svetloj budućnosti CIa je njegova arhitektura koja je previše orijentisana ka PHP "četvorci". U jednom delu korisničkog uputstva stoji tekst, citiram
Citat:

"CodeIgniter will run on PHP 5. It simply does not take advantage of any native features that are only available in that version."
što po meni predstavlja veliki nedostatak. Iskreno nisam imao previše vremena da se pozabavim kako se CI snalazi sa novom PHP 5.3 verzijom ali mogu zamisliti da ogromna količina "repova" iz arhaične "četvorke" neće povoljno uticati na budućnost ovog frameworka ukoliko se razvojni tim ne potrudi da pronađe način da počne da iskorišćava prednosti novih verzija PHPa. Ne bih ni da pokušavam da zamislim kako bi izgledala kombinacija sadašnje arhitekture CIa i PHP 6.0.

Kada smo se već dotakli teme framework sistema mogu da se "pohvalim" da sam od ostalih imao prilike da probam CakePHP i da se detaljnije pozabavim ZendFrameworkom. Prvi mi se jednostavno nije svideo zbog "pečenja" skriptova iz konzole kao i donekle konfuznog OOP modela. Što se tiče "Zend Frameworka" u njega sam polagao najviše nade ali posle intenzivnog upoznavanja sa ovim razvojnim okruženjem jednostavno sam odustao. Naime, iako ima poprilično dobar i fleksibilan OOP model Zend je po meni previše bloatovan framework koji uz to zahteva da aplikacije pisane u njemu budu dodatno optimizovane pre nego što se postave na produkcione servere. Stvar koja je konačno prevagnula na stranu odluke da dobro razmislim pre nego što ikada Zend razmotrim kao opciju za neki ozbiljan projekat je prevelik stepen neozbiljnosti razvojnog tima koji iz revizije u reviziju neprekidno menja koncepciju nekih bitnih stavki frameworka. To bukvalno znači da se pojavljuju situacije u kojima aplikacija pisana u prethodnoj verziji frameworka mora da se ispravlja da bi funkcionisala sa novom verzijom. Da su u pitanju razlike u punim verzijama onda bih i razumeo ali raditi ovakve stvari u revizijama je po meni smešno i veoma neozbiljno.

Naravno to ne znači da Zend treba potpuno izbaciti kao opciju jer postoje situacije kada je njegovo učenje neophodno s obzirom da postoje kompanije koje u svojim PHP sektorima zahtevaju poznavanje Zend Frameworka. Da li je to dobro ili nije je stvar koju moraju same kompanije da razmotre ali svakako ne smeta upoznati se sa načinima na koje Zend implementira neke stvari iz samog PHPa (design patterni itd.)

mnicic 21. 10. 2009. 18:45

Ja sam gledao par frameworkova i odlucio da malo dublje oprobam CodeIgniter. Ima relativno dobar (i opsiran) help. Zajednica na forumu je Ok, takodje.
Ono sto bih kod njega izdvojio je da se brzo moze poceti sa razvojem, jer za upoznavanje CI "sistema" nije potrebno mnogo vremena. A druga stvar je to da se sve klase mogu vrlo lako prosiriti.

Ima solidne helpere i biblioteke. Izdvojite dan-dva po par sati i probajte.

zidoo 21. 10. 2009. 20:54

Ja stvarno ne vidim svrhu tih frameworka... programiram u PHP-u vec 4-5 godina i nikada nisam osjetio potrebu da koristim tako nesto.

Svi ti framevokovi :) gore nabrojani u biti vise odmazu nego sto pomazu, da bi se neka komplikovana stvar uradila jednostavno neke druge stvari se zato koplikuju do boli. Bas nekidan pomazem prijatelju i on radi sa tim Prado fw, znaci katastrofa.

Da uhvati nesto GET metodom, obradi, povuce iz baze i izvrti treba more sintakse tipa
Kôd:

$x = $nesto->drugo->pa_trece->mozda->jelTako();
$app->core->modul->moj->driver->db->query->fetch->fino($x);

Uopsteno koji god FW uzmem izgleda super, u manualu je sve jednostavno, ljepo, kad krenes da radis i zatreba ti neka bezveze stvar shvatis da dok odradis fino treba da se odbijes...

Jel ima neko ovde iskusan (iskusniji od mene, bar) da koristi neki FW u nekom zivom, vecem projektu i da je zadovoljan? Da kaze realne prednosti (mozda neko parce koda, daj kod jebes pricu)... U zadnje vrijeme svi bruje o frameworku ovom onom, a ja idalje koristim neki svoj FW koji je u biti skup od 5-6 klasa i organizacija direktorija ...

mnicic 21. 10. 2009. 21:44

Nisam koristio navideni FW, ali u CI-u je to sto si pitao relativno prosto.

A GET je recimo $this->input->get();

Pozivanje neke f-je koja radi sa bazom: $this->db->get_my_entry();

Ne znam, ali moje subjektivno misljenje je da je CI vrlo dobra stvar. Razloge sam naveo u prethodnoj poruci, a naveli su ih i drugi iznad.

Sto se primene CI-a tice, evo liste ko ga sve koristi: http://codeigniter.com/projects/

void 21. 10. 2009. 23:02

Za timski rad je svakako bolje koristiti poznati framework. Lakse je naci programera koji ima iskustva sa recimo Zendom, nego ga priucavati da koristi nekakvu kucnu sklepaniju sa losom (ako uopste postoji) dokumentacijom, i kodom sumnjive kvalitete.

Za ovo se naravno racuna da pricamo o tipicnim web aplikacijama osrednje velicine. Ako ste bas naumili da pravite novi facebook :), onda verovatno imate i kapital za par dobrih inzenjera.

Sto se tice CodeIgnitera, licno mi se ne svidja iz nekoliko razloga:
- php 4
- EllisLab - pogledajte samo njihov ExpressionEngine, slobodno bubreg da prodate ako zelite da platite sve features koje nudi. To pokazuje stav ove firme.
- spor razvoj

Mnogo vise mi se dopada Kohana, fork CI-a. PHP5, poprilicno dobra dokumentacija, dobra licenca, dosta dobrih modula koji mogu da ubrzaju razvoj tipicne web aplikacije, itd. Mana: previse brzo prave ogromne izmene na projektu, tako da nakon par meseci morate iznova pravite kompletan projekat ako zelite biti up to date.

Mislim da bi bilo vredno spomenuti jos ova dva fw-a:
- Yii
- Recess!

ivanhoe 22. 10. 2009. 00:33

A zend? Jel koristi neko njih, posto koliko vidim svi preferiraju CI/kohanu ?

Navodno je Zend postao daleko brzi u zadnjih par godina i znam da se neki njihovi moduli koriste na mnogim velikim projektima (samo moduli bez ostatka FW), ali nemam nikakvog licnog iskustva sa Zendom, osim malo igranja u lokalu...

robi-bobi 22. 10. 2009. 10:07

prado je posebna prica
to je nesta kao .NET na PHP nacin (tako su mi objasnili neke mega nelogicnosti) :D

imas klas za sve
za tabelu
za input
za input tipa reset
i sve to sa sobom nosi plusove i minuse
kao ideja, nije to skroooooz lose, ali je (meni) muka pisati u tako necemu

zend je postao "previse enterprise" za moj ukus

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
:D

jablan 22. 10. 2009. 11:05

Citat:

Originalno napisao robi-bobi (Napišite 74621)
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
:D

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.

misk0 22. 10. 2009. 12:59

slazem se u potpunosti sa Jablanom.

zidoo 22. 10. 2009. 13:49

Ev upravo sam skino Zend 7 IDE (dje ide?) pa cu pokrenem omanji projekt. Valjda me nece mrzeti zavrsiti pa napisati utisak :)

Znam ja da je u programiranju dosta stvari zapravo stvar navike, al nekako mi sve ti FW djeluju cudno :)

@jablan,
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 :)

nn.nn 22. 10. 2009. 14:01

Citat:

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 :)
Security through obscurity daje lažnu sigurnost. ;)

cvele 22. 10. 2009. 14:03

@ CI fanbois
Gledao sam ga nekoliko puta, cak bio blizu odluke da pocnem da ga koristim, ali on je toliko prljav da mi cigance pored konteinera izgleda kao olicenje cistoce.

Dokle god se ne manu php4 podrske nema smisla raditi sa njim, previse dirty hackova da bi se uradile stvari koje mogu elegantno i jednostavno u php5.

Inace koristim svoj framework na kome radim preko 4-5god.

MorenoArdohain 22. 10. 2009. 14:28

@cvele, ako je to jedini problem, pogledaj onda kohanu, strict PHP5/OOP.

Bojan Zivanovic 22. 10. 2009. 14:44

Koristim Zend Framework na dva velika projekta i mogu reci da sam zadovoljan.
Izabrani su pre svega zbog opsirne dokumentacije i radi standardizacije (das novom programeru Reference Guide, naglasis deo o Coding Standardu, i udri)

Pre toga sam na jednom koristio Code Igniter, subjektivno mi je ZF dosta mocniji (koristimo dosta ZF klasa), ali posto nisam koristio CI i ZF na projektima iste velicine, ne mogu pouzdano reci.

Izdvojio bih kao minus samo Zend_Form, vise sam se tukao sa njim nego sto sam pisao forme, mogao sam rucno da napravim validacije po 60 puta... Taj nacin stilizovanja preko dekoratora je ok kada se savlada, ali je put ka tome poplocan frustracijama...

bluesman 22. 10. 2009. 15:07

Citat:

Originalno napisao jablan (Napišite 74622)
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.

jablan 22. 10. 2009. 15:28

Citat:

Originalno napisao bluesman (Napišite 74638)
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 (Napišite 74638)
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 (Napišite 74632)
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

cvele 22. 10. 2009. 15:37

Citat:

Originalno napisao MorenoArdohain (Napišite 74635)
@cvele, ako je to jedini problem, pogledaj onda kohanu, strict PHP5/OOP.

Kohanu nisam probao, al nije problem samo u php5 vec i u tome da struktura fw meni "lezi". CI zaista sam po sebi podseca na moj "fw'.

Pogledacu kohanu, fala.

bluesman 22. 10. 2009. 16:00

Citat:

Originalno napisao jablan (Napišite 74640)
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 (Napišite 74640)
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 (Napišite 74640)
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.

bOkIcA 22. 10. 2009. 16:02

Citat:

Originalno napisao void (Napišite 74607)
Sto se tice CodeIgnitera, licno mi se ne svidja iz nekoliko razloga:
- php 4
- EllisLab - pogledajte samo njihov ExpressionEngine, slobodno bubreg da prodate ako zelite da platite sve features koje nudi. To pokazuje stav ove firme.
- spor razvoj

Za mene su sve ove stavke uglavnom prednost, mislim da ne treba da pricam zasto.
Kohana, koliko vidim, cesto menja pravce i stalno postoji veliki problemi sa kompatibilnoscu sa prethodnim verzijama te stoga po meni nije za koriscenje.

@Cvele: Kad kazes za CI prljav kod mislis na core ili na biblioteke?
U bibiotekama moze da se nadje prljav kod ali svaka biblioteka moze da se zameni novom ili samo pojedinacne funkcije i to izvan core-a.
Cak sam postovao jednu od takvih funkcija ovde pa sam skontao kako je bezveze napisana.

Inace bih voleo kada bi ElisLab napravio rewrite tj jednu php5 paralelnu verziju CI-a kako bi se u potpunosti iskoristile prednosti petice.
Svi ostali FW mi deluju robusno u odnosu na CI, doduse bar onako iz daljine tj na web-u... nisam ih probao pa mozda gresim.

jablan 22. 10. 2009. 16:49

Citat:

Originalno napisao bluesman (Napišite 74642)
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. :)

bluesman 22. 10. 2009. 17:10

Citat:

Originalno napisao jablan (Napišite 74651)
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.

bOkIcA 22. 10. 2009. 17:11

Citat:

Originalno napisao bluesman (Napišite 74642)
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.

jablan 22. 10. 2009. 17:47

Citat:

Originalno napisao bluesman (Napišite 74656)
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. ;)

ivanhoe 22. 10. 2009. 17:48

Problem sa FW je sto svi do jednog zahtevaju inicijalno ulaganje vremena i energije, da se shvati kako funkcionisu i da se sopstveni stil prilagodi njihovom, a sto si iskusniji i stariji to je sve teze. Takodje, svi ti leyeri i apstrakcije dovode do toga da kad dobijes tudji kod, a nisi iskusan sa konkretnim FW pozelis da nekoga ubijes...

Inace ja isto dobijem nervni slom od ORM-a. Po meni je to 10% zaista korisno, a 90% podilazenje programerima koji ne znaju SQL dovoljno da sami pisu upite. I onda umesto da odmah vidis sta se salje bazi, moras da gledas dokumentaciju sta koja metoda radi, da dumpujes query--ije i sl. da bi video zasto nesto ne radi. Secam se kako sam ja obozavao Delphi DB kompnente u mladosti, jer sam tada mrzeo baze, i bilo mi mnogo lakse da radim sa objektima... ali ako dobro vladas SQL-om, ORM ti je kao da plivas u perjanoj jakni.. just my $0.0.2, naravno...

nn.nn 22. 10. 2009. 18:06

Citat:

Na kraju krajeva, koristeći Smarty, već si jednom nogom u frejmvorku. Pa ti vidi. ;)
Ih, jednom nogom. On je već pečen, samo neće da prizna. Zamisli samo, koristi i jQuery. ;)

bOkIcA 22. 10. 2009. 18:08

samo je pitanje koji ce odabrati ;)
:D

bluesman 22. 10. 2009. 21:07

Citat:

Originalno napisao jablan (Napišite 74661)
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. :)

Mister, pa ja ne pričam o ovome, ovo je smešan query i ovo je savršeno jasno da je to ono što nazivam "hleb i mleko". Ja pričam o daleko komplikovanijim stvarima. Kao što rekoh, FW je super da ti smanji posao oko ovakvih sitnica. Šta je tu mistifikacija? Daj ne zezaj :)

Citat:

Originalno napisao jablan (Napišite 74661)
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. ;)

To niko ne spori, a što se tiče FW, ja koristim svoj koji razvijam već godinama. A opet i u njemu sve "pipave" querije pišem ručno. U stvari tako je i napravljen da sve komplikovanije i moraš da pišeš ručno.

A što se tiče "analize" ... analizirao sam početkom godine baš ove koje najčešće spominjete, i svaki ima svoje dobre i loše strane, na žalost ni jedan nije bio bolji od onoga koji već koristim, tako da nije ni bilo potrebe da "prelazim".


Vreme je GMT +2. Trenutno vreme je 23:12.

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.