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 01. 07. 2006.   #1
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default To framework or not to framework

Sad pricam sa kolegom oko ovih novih MVC igrackica (cake, symphony, ...) itd. Licno nisam nikada koristio, a i nemam nesto mnogo vremena da se igram sa njima, ali rekao bih da su ovde neki ljudi to koristili.

Voleo bih da mi neko od vas kaze nesto o upotrebljivosti istih u real life projektima. Znaci ne ono "igrao sam se, i napravio 5 strana za malog pericu" vec upotrebljivost istih kod vecih sajtova, koji imaju high load, potrebe kreiranja multi permissions sistema (admin, superadmin, user, ...) i sl.

Inace, kad smo vec kod ove teme, istrazivao sam i nasao na netu interesantan MVC tutorial ali nekako nisam uspeo da razumem primere do kraja (rekao bih da je autor ili suvise zakomplikovao stvari, ili sam ja preplitko usao u to). Takodje, nasao sam dosta argumenata protiv MVC-a u web aplikacijama (kao na primer HF ovde).

Ajd da cujem vase misljenje
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #2
ppavlovic
expert
Expert
 
Avatar ppavlovic
 
Datum učlanjenja: 27.11.2005
Poruke: 543
Hvala: 47
57 "Hvala" u 31 poruka
ppavlovic će postati "faca" uskoro
Thumbs up

Uh... Frameworks...
Negde na jesen krenem da razvijam jedan CMS i resen da ga napravim modularno krenem u izucavanje MVC patterna i drugih design patterna. Tu se usput nametne prica o framework-ovima. I krenem ja da ih razgledam, jedan za drugim, procitam taj clanak sa O'reilly sajta, kontaktiram lika, on unapred objavi svoje resenje frejmvorka na svom blogu... Gledam, gledam i ... Od svega toga ne izaberem nista. Krenem nesto svoje da budzim.

Razmatrao sam Symphony (bas sam veceras ponovo pogledao video tutorijale za njega), CakePHP (nije nesto bio aktivan tada), Phrame (MVC2, cudno osmisljen, ali upotrebljiv), WACT i jos neke... Tad su najavili razvoj Zend Framework od kojeg se mnogo ocekuje... Sad kad je izasao, daleko od toga da je potpun. Ima dosta problema u razvoju jer ga neki kljucni ljudi napustaju, ActiveRecord je neupotrebljiv, itd, itd...

I naravno, tu je RoR, nazalost, samo za Ruby. Iz tutorijala koje sam pogledao vidi se da su ljudi dosli do tog frejmvorka od muke, cesto ponavljanje dosadnih zadataka i sl.

Poenta frejmvorka je da bude kompletan, da ti omoguci instant pocetak, pisanje koda bez previse ucenja, da je dovoljno prosiriv i naravno da ima dobre performanse. Symphony je jako dobar, ali ima milion stvari koje me nerviraju (ucenje Yaml, Prado drajver[sta je vec?!] za pristup bazama, stupid sistem za templejte, mnogo custom APIja i sl.). Imam osecaj da sam previse star da sve to ucim.
Moj izbor bi bio CakePHP (zato sto Zend nije potpun). Od frejmvorka ocekujem da bude dovoljno pametan da ti da ono glupo "// Insert Code Below" i da ti instant krenes da kucas kod bez da razmisljas gde se sta desava. Bar je tako M$ davno ucinio sa Visual C++. Koprcas se par dana sa pitanjima "Gde je ovo, sta radi, kako, zasto ovo ovde..." i na kraju te jednostavno bude briga jer se koncentrises na kod, logiku, a ne na razna tvikovanja i sl.
CakePHP zato sto mi dozvoljava da koristim AdoDB sa kojim radim poslednjih 5 godina, Smarty za koga sam vezan od pre 2 godine, ima odlican sistem dozvola tako da ne moram da integrisem PHPGACL, ActiveRecord (mmm...) al' kazu jako spor kod cross-table upita i odlican Nested Set model za predstavljanje hijerarhijskih podataka u tabeli.

So, za moj sledeci projekat bice CakePHP. Mmm... donuts...

Poslednja izmena od ppavlovic : 01. 07. 2006. u 02:57.
ppavlovic je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #3
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

Ni jedan FW nije silver bullet, ni jedan framework ne rešava sve probleme i ne bi trebalo to da radi. Dobar start? To je loš razlog za korišćenje frameworka. Samo ime mu govori da treba da ti pruži okvir i da automatizuje zadatke koji mogu da se automatizuju. Da rutinski zadaci budu rutinsku, da se ne uvrtiš u ponavlaljanje i copy paste način rada (neki copy - pasta smatraju reusable kodom ) i da te na neki način navede da koristiš dobre programerske prakse. To je manje više to.

Sajtovi koji imaju veliki load a koriste frameworke? Pogledaj proizvode 37s, ALA, projekte zasnovane na Djangu. Jako veliki broj korisnika i hitova. Što se PHP tiče ne znam dobar primer sajta koji koristi framework. Kod PHPa se tek razvija grupa korisnika koja koriste složenija OO rešenja (pravi OO je došao tek sa PHP5, sve pre toga je hakeraj a ne OO razvoj). A PHP5 još nije ni dominantan... Čekaćemo mi još na dobar PHP5 framework.

Pogledao sam par frameworka i po mom mišljenju PHP trenutno nema šta mnogo da ponudi. Možda Cake, ali to je za manje stvari i previše je "the PHP way". Django i Rails su za sada bez takmaca što se razvoja web aplikacija tiče.

Btw, MVC je pattern koji možeš okvirno koristiti. Poenta je razdvajanje biznis logike, načina obrade korisničkih zahteva i prezentacije. Da li će to biti po samom patternu ili ne stvar je ukusa. Bitno je da se postigne osnovni cilj: jasno razdvajanje navedenih stvari. Većina već koristi nešto slično jer je to prilično prirodan način razdvajanja osnovnih elemenata aplikacije.

Poslednja izmena od Ilija Studen : 01. 07. 2006. u 03:26.
Ilija Studen je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #4
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

Ne znam da li možemo spominjati Django u ovoj diskusiji jer je on:
a) Python powered framework a ne PHP
b) MTV a ne MVC model
__________________
Python Ambassador of Serbia
Petar Marić je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #5
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

ja imam dva velika problema sa upotrebom frameworka:

1) da odvojim dovoljno vremena (i zivaca) da naucim sta je gde i cemu sluzi, koji API je za sta i tako to..

2) da prilagodim svoj nacin rada i razmisljanja onom koji autori smatraju "pravilnim". Od railsa na ovamo se potencira pristup sa minimumom konfiguracije, gde je komplet postavka hardcodovana u srz FW, i od fajlova pa do imenovanja tabela moras da se toga pridrzavas... shvatam naravno da je to nacin da se stvori konzistentan kod, ali mene to u startu odbija (jer mi naprosto njihove konvencije nisu najlogicnije i samim tim mi je napor da ih prirodno primenjujem u radu..)

I tako, obicno krenem da se igram sa novim FW-om i na pola se smorim sa onim cuvenim "ma ja bih ovo bolje/brze/drugacije uradio..". Verovatno je slicno kao kad ucis novi jezik, stalno mi se neke stvari cine nelogicnim i pogresnim, a mozda sam naprosto matori konzervativac
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #6
zira
Vladan Zirojević
Grand Master
 
Datum učlanjenja: 09.06.2006
Lokacija: Beograd/Trebinje
Poruke: 903
Hvala: 106
183 "Hvala" u 82 poruka
zira ima spektakularnu auruzira ima spektakularnu auruzira ima spektakularnu auru
Pošaljite ICQ poruku za zira Pošaljite poruku preko Skype™ za zira
Default

@ivanhoe: Ja za sada koristim svoje programsko okruzenje koje mi omogucava rad u sopstvenom stilu i brz razvoj (i mnogo koda koji mogu ponovo koristiti), ali ukoliko neko od PHP okruzenja postane toliko dobro i primjenljivo, koristicu ga. Za sada ne...
A i uvijek bi dolazio u iskusenje da nesto mijenjam u samom kodu okruzenja

@Ilija Studen: slazem se za MVC.
__________________
Donesi.com SrediMe
zira je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #7
toxonics
programer
Na probnom radu
 
Avatar toxonics
 
Datum učlanjenja: 10.09.2005
Lokacija: Beograd
Poruke: 34
Hvala: 0
0 "Hvala" u 0 poruka
toxonics is on a distinguished road
Pošaljite ICQ poruku za toxonics Pošaljite poruku preko Skype™ za toxonics
Default

Da li je neko mozda video ovo:

http://www.codeigniter.com/

nije komplikovan, ne izmislja novi "pravilan" nacin rada...
toxonics je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #8
Bojan Zivanovic
profesionalac
Professional
 
Avatar Bojan Zivanovic
 
Datum učlanjenja: 06.06.2005
Lokacija: Pančevo - Pariz
Poruke: 287
Hvala: 6
8 "Hvala" u 8 poruka
Bojan Zivanovic is on a distinguished road
Pošaljite poruku preko Skype™ za Bojan Zivanovic
Default

Deluje solidno, mada mi je nesto cudna ta njegova interakcija izmedju Controllera i Modela.Ako sam dobro shvatio, obicno je Controller samo klasa koja pozove Model, a tamo se sve desava.. Ovde je glavni kod u Controlleru a u Modelu samo deo koda za rad s bazom.. U principu tu se moze i zaobici Model i sve staviti u Controller... Ako se ne varam, Zend Framework i sl. ovo rade drugacije.. Al opet, mozda i gresim, ionako svi tumace MVC na svoj nacin..

EDIT: Ok, definitno greshim, al nek ostane post... Pregledao sam ovaj CodeIgniter, izgleda super (manual mu je 10 puta bolji od Cake-ovog), samo mu fali Auth klasa... Ima i neki mini template engine koji nije nizasta (ne kompajlira template nego svaki put radi str_replace), al dobro ,lako se ubaci neki drugi... Poigracu se s ovim
__________________
The knack of flying is learning how to throw yourself at the ground and miss.

Poslednja izmena od Bojan Zivanovic : 01. 07. 2006. u 22:17.
Bojan Zivanovic je offline   Odgovorite uz citat
Staro 01. 07. 2006.   #9
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

Moje shvatanje MVC podele podrazumeva pre svega mogucnost zamene bilo kog dela sistema odgovarajucim (onim koji ce pravilno odgovarati na unapred odredjene ulazno-izlazne zahteve), kao i jasnu separaciju modela (izvora/skladista podataka), view-a (izlaza/prikaza podataka) i kontrolera (veznog koda). Najcesci primer krsenja MVC patterna je recimo validacija formi, i to u situaciji kada se cela forma generise unutar kontrolera i prosledjuje view-u radi prikaza, pa jos ako se desi da kontroler fetchuje template, da bi napravio lepo dizajniranu formu...

Prema tome, ako nadjes framework koji ce ti omoguciti da brzo sinhronizujes svoj nacin razmisljanja sa autorovim, i koji ce ti omoguciti da brzo realizujes onu vrstu projek(a)ta koje (nameravas da) radis, onda svakako treba da razmislis u tom pravcu. Mislim da je cak najbitnije poklopiti nacin razmisljanja, jer, iz onoga sto sam do sada primetio, vecina frameworka (direktno ili indirektno) tera programera da radi i razmislja na tacno odredjen nacin, inace se ponistava efekat celog frameworka.

...a sve to kazem ja, koji vecito izmisljam nesto svoje Vredi razmisliti, svakako.
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams

Poslednja izmena od zextra : 01. 07. 2006. u 23:31.
zextra 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
Izbor PHP Framework dootzky PHP 100 21. 02. 2010. 19:15
PureMVC framework c_shark Sva početnička pitanja 0 26. 05. 2009. 11:10
Django framework Milos Micic Programiranje 6 05. 05. 2007. 20:21
ATK Framework Bojan Zivanovic PHP 4 18. 09. 2006. 15:16
Zend PHP Framework Bojan Zivanovic PHP 14 08. 03. 2006. 13:42


Vreme je GMT +2. Trenutno vreme je 01:03.


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.