[ Spahic @ 28.05.2017. 14:57 ] @
Treba da mi neko objasni uporedjivanje frameworkova ali samo tri: codeigniter, laravel i zend. I svaka razlika izmedju svakog frameworka dobra osobina koja je kod jednog a koja je losa osobina itd...
[ ntesic @ 30.05.2017. 09:28 ] @
Najlakse je ovako https://www.google.rs/?gws_rd=...laravel+vs+zend+vs+codeigniter
[ Nemanja Avramović @ 05.06.2017. 00:11 ] @
Codeigniter zaboravi, pregazilo ga je vreme. Jedino između čega danas treba birati je: Zend, Symfony i Laravel.

Kako nisam ozbiljnije radio ni sa Zendom ni sa Symfony-jem, ne mogu ih detaljno uporediti, ali iz onoga što sam video, Laravel mi deluje kao da je više user-friendly jer neke stvari koje se često rade već ima rešene dok kod Zenda i Symfony-ja sve moraš "ručno" da radiš, što ti daje više fleksibilnosti ali i teži "learning curve", tj. traže više vremena za učenje. Nije da (ne?) branim Laravel zato što radim sa njim, ali ako se odlučiš za njega obavezno pogledaj Laracasts, uz taj sajt bukvalno za nedelju dana možeš već dovoljno da razumeš kako funkcioniše Laravel i da kreneš da radiš na svom prvom projektu.
[ ntesic @ 05.06.2017. 12:46 ] @
Ne zaboravite tu i Yii2 i PhalconPHP
[ kunc @ 05.06.2017. 13:20 ] @
Laravel je predobar, mada ne bih bjezao ni od CakePHP-a. Verzija 3.* je znatno poboljšana.
[ plus_minus @ 05.06.2017. 17:52 ] @
@ntesic

Ni meni nije jasno kako je moguće da toliko malo naroda (ili se bar meni tako čini) nema pojma o Phalcon-u. A radi se o fwk-u koji je brži od bilo čega sličnog. Ono, C ekstenzija za PHP.

High Performance PHP Framework Phalcon Framework

Citat:

Zephir/C extensions are loaded together with PHP one time on the web server's daemon start process
Classes and functions provided by the extension are ready to use for any application
The code is compiled and isn't interpreted because it's already compiled to a specific platform and processor
Thanks to its low-level architecture and optimizations Phalcon provides the lowest overhead for MVC-based applications



[ ntesic @ 06.06.2017. 11:48 ] @
Verovatno ne zele da isprobaju ili ni da cuju nista osim onoga u cemu rade.
Inace koristio sam ga par puta, i stvarno je extra brz.
Steta sto nema neku vecu community zajednicu kao Yii ili Laravel, i sto nema nekih gotovih pluginova
[ mjanjic @ 07.06.2017. 16:52 ] @
Pa ne bih se baš složio da je CodeIgniter prevaziđen.
Bio je u krizi, ali ga je preuzeo British Columbia Institute of Technology, tako da je razvoj nastavljen.

I ranije je bio najzastupljeniji na univerzitetskim kursevima, jer je laganiji za početnike od Laravela i drugih FW-a.


Ne znam koliko su podaci, ali evo poređenja feature-a za pomenuta tri:
http://vschart.com/compare/lar.../codeigniter/vs/zend-framework


Kao što se vidi, uvek se nađe nešto što jedan FW ima, a drugi nemaju, i obrnuto, tako da je stvar potrebe, popularnosti i sl.

Kako kažu, bolje je naučiti i koristiti i najjednostavniji FW nego ne koristiti nikakav.
Naravno, sve pod uslovom da se prvo dobro nauči čist PHP.
[ S A J A @ 08.06.2017. 09:20 ] @
Citat:

Kako kažu, bolje je naučiti i koristiti i najjednostavniji FW nego ne koristiti nikakav.
Naravno, sve pod uslovom da se prvo dobro nauči čist PHP.


Ove dve rečenici su u koliziji. Na mnogo mesta na internetu se može pročitati da je FW obavezan (a nije) tako da sad svi kreću prerano sa njim. Kao rezultat se dobije da se početnici guše u kodu, brljave i dobijamo pravi mess. Ja par godina koristim PHP i do sada nisam ni jednom koristio FW. To jesu bili neki manji projekti gde generalno nije ni potreban i uspeo sam da napravim svoje klase za pristup bazi, logovanje i sve što mi je trebalo. Tako sam dobro upoznao PHP i sad mogu da širim priču. Za sledeći projekat mislim da koristim neki FW, malo sam ovih dana gledao šta tu sve ima i nekako mi se najviše sviđa Yii2. Deluje mi čisto, jednostavno i brzo, to je baš ono što mi treba s obzirom da nemam neke ultra zahteve u pogledu kompleksnosti.

[ Shadowed @ 08.06.2017. 09:28 ] @
Ne samo da nisu u "koliziji" nego je upravo to sto radis u skladu sa njima
[ Nemanja Avramović @ 08.06.2017. 12:24 ] @
Citat:
Pa ne bih se baš složio da je CodeIgniter prevaziđen.
Bio je u krizi, ali ga je preuzeo British Columbia Institute of Technology, tako da je razvoj nastavljen.


Mislim da ovo sve govori



Koristio sam CI2 jako dugo, posle prešao na kratko na CI3 i gotovo odmah ga batalio i prešao na Laravel. Ne znam da li su u poslednje dve god nesto drasticno promenili, ali ono ranije mi se suštinski nije puno razlikovalo od CI2. Ok, ima podršku za composer autoloader (koja je po defaultu isključena xD) i to je super, uspeo sam ja koristeći razne pakete da "larevelizujem" CI, tj. dodao sam mu Eloquent, CLI tool (kao artisan) za brže generisanje klasa, Phinx za migracije, Event sistem, phpdotenv i jos nekoliko cool stvarčica, ali nije to to kad moraš ručno da budžiš
[ svepomalo @ 08.06.2017. 12:33 ] @
nista brate bez artisan-a :D
[ mjanjic @ 11.06.2017. 10:27 ] @
O čemu god divanili u smislu PHP-a, gotovo svi ljudi koje poznajem uovde, a da rade u PHP-u, koriste Laravel, jer nekoliko lokalnih firmi nameće taj FW, ne znam kako je u Beogradu pošto ima daleko više firmi.

Evo, neke kolege koje su relativno dobro naučile PHP (bar oni tako misle), rešili neki mini projekat da rade u čistom PHP-u i totalno se pogubili na kraju, počeli da kukaju da je sa FW daleko, daleko lakše. Radi se o gomili nekih formi za unos podataka, ali je u određenim poljima potrebno uraditi i autocomplete ili ponuditi listu opcija za parcijalno unet sadržaj na osnovu već unetih podataka u bazi, i da ne davim dalje, uglavnom relativno standardne stvari...

Pa se daje zaključiti da ili nisu baš naučili PHP kao što misle da jesu, ili su lenji da sve odrade ručno bez FW (a sami su tako izabrali)...

A to da je lakše sa FW... pa lakše je i sa nekim vizuelnim alatima i razvojnim okruženjima, sve dok ne zatreba i ručno izmeniti nešto direktno u kodu, a onda ako se ne poznaje jezik onoliko koliko bi trebalo...
[ boguda @ 24.06.2017. 21:58 ] @
Da se uklucim u temu jer me bas interesuje...

Ja sam presao sa CakePHP-a na Laravel i nisam nista drugo koristio pre toga. Jeste naj vaznije dobro nauciti php i mislim da i sad vucem repove jer to nisam savladao za desetku. Kao kada u skoli ne pratis nastavu od pocetka, do kraja razreda sve ti je tze i teze da pratis.
Laravel ucim sa Laracasta i mislim da je vrhunsko mesto za ucenje ja bar nisam nasao bolju zajednicu i vise tutorijala na jednom mestu, za te pare vredi svakako.
Pritom ja jos nisam poceo da posteno zaradjujem od tog programiranja.
[ gost12 @ 28.06.2017. 20:45 ] @
Citat:
plus_minus:
@ntesic

Ni meni nije jasno kako je moguće da toliko malo naroda (ili se bar meni tako čini) nema pojma o Phalcon-u. A radi se o fwk-u koji je brži od bilo čega sličnog. Ono, C ekstenzija za PHP.

High Performance PHP Framework Phalcon Framework

Citat:

Zephir/C extensions are loaded together with PHP one time on the web server's daemon start process
Classes and functions provided by the extension are ready to use for any application
The code is compiled and isn't interpreted because it's already compiled to a specific platform and processor
Thanks to its low-level architecture and optimizations Phalcon provides the lowest overhead for MVC-based applications





Zašto bi brzina frameworka uopće i bila presudna? Bitno je da nije prespor, ali na kraju krajeva brzina frameworka je nešto zanemarivo u bilo kojem projektu da nije micro veličine i ogromnom posjetom. Puno bitniji je tvoj kod, zbog brzine bilo kojeg od jačih frameworka nećeš imati problema, ali zbog svojih "bisera" hoćeš.


Laravel nisam puno gledao i malo koristio, ali čim sam vidio koliko se oslanjao na static classe jednostavno mi je ličio evil.

Meni najkvalitetniji PHP framework je Nette, forsira dobar kod, pokušava tipizirati sve što se tipizirati da, forsira korištenje DI svuda, njihov sistem formi mi je najbolji od svih viđenih, ali dobar i održiv kod i PHP developeri... Ne ide to baš zajedno... Većina ljudi misli i da je wordpress kvalitetno napisan...
U PHP svijetu nažalost popularnost često znači i loše navike i preskakanje stepenica
[ plus_minus @ 01.07.2017. 23:28 ] @
Citat:
Zašto bi brzina frameworka uopće i bila presudna? Bitno je da nije prespor, ...


Paaaa ... bitna je baš zato da na prvom mestu - ne bude prespor, recimo.
[ gost12 @ 02.07.2017. 10:19 ] @
A koji od "većih" frameworka bi uopće mogao biti dovoljno spor da te to nešto košta na web aplikaciji, ako ne pričamo o appu s više od par milijuna hiteva na dan?
Čim si napravio par queryja prema bazi gotovo je. Plus razvoj je skuplji od jačeg hardware-a i neke stvari zasigurno ne želiš izgubiti zbog par milisekundi bržeg odziva.
Samo ću ponoviti, brzina frameworka je u 99,9% web aplikacija zanemariva stavka. Tvoj kod čini web app sporim, a ne framework.

Da se malo nadovežem na temu. Framework koji ni nema DI u sebi u 2017 ne bi smio ni postojati. Tako da CI definitivno otpada.
[ plus_minus @ 02.07.2017. 19:20 ] @
Citat:
A koji od "većih" frameworka bi uopće mogao biti dovoljno spor da te to nešto košta na web aplikaciji, ako ne pričamo o appu s više od par milijuna hiteva na dan?
Čim si napravio par queryja prema bazi gotovo je. Plus razvoj je skuplji od jačeg hardware-a i neke stvari zasigurno ne želiš izgubiti zbog par milisekundi bržeg odziva.
Samo ću ponoviti, brzina frameworka je u 99,9% web aplikacija zanemariva stavka. Tvoj kod čini web app sporim, a ne framework.


Svaki DOBAR developer, web pogotovu, UVEK razmišlja o svom novom još uvek nezapočetom appu kao o appu s više od par milijuna hiteva na dan, jednoga dana .. da bude toliko iskorišćena i potrebna. Da će je 'akati i njakati svi. I sa tom stavkom u mozgu i u podsvesti se kreira i prvi app interfejs, recimo. Ukoliko app nije zatvorenog tipa, pa je onda nikakav problem da se singl procesu dodeli i 100gb rama da proždere na serveru (običnoj jačoj konfiguraciji), ako mora i ima. Tvoj i moj kod, takođe, mogu i da se uspore, zahvaljujući nekom frejmworku, nekad a i često. :)
[ gost12 @ 04.07.2017. 09:06 ] @
app s par milijuna hiteva i app koji ne radi gotovo ništa...
Čim ti imaš neki I/O bilo što smisleno radit, overhead frameworka postaje zanemariv. To je poanta priče.
Stavi dvije aplikacije koje nešto rade s bazom, I/O bilo što u više razl frameworka i vidi benchmark...
hello world benchmarci u frameworcima nemaju apsolutno nikakvog smisla.
[ Predrag Supurovic @ 04.07.2017. 09:24 ] @
Citat:
gost12: app s par milijuna hiteva i app koji ne radi gotovo ništa...
Čim ti imaš neki I/O bilo što smisleno radit, overhead frameworka postaje zanemariv. To je poanta priče.


Pa nije baš tako. Skoro sam radio na "redizajnu" jednog sajta tako što smo zadržali potpunosti isti izgled ali izbacili Wordpress koji je bio u pozadini i zamenili ga custom framworkom. Sajt koji je bio na kolenima koliko je bio spor se rastrčao (isti server isti resursi). Čak smo dodali i neke nove funkcionalnosti koje nisu imali na Wordpress-u.

Znam da današnja omladina problem overheda rešava kupovinom više memorije i jačih procesora i većih diskova ali ja sam starija škola i mene traćenje resursa uvek boli, čak i ako se da istrpeti.
[ Nemanja Avramović @ 04.07.2017. 23:56 ] @
A dobro Peđa, ne možeš porediti WP i neke moderne frejmvorke koji su ovde pobrojani :P

Šalu na stranu, brzina frameworka je bitna ali ne i presudna. Bitna je i podrška, dokumentacija, community, itd. Gde ćete vi danas naći nekoliko Phalcon programera? Pa mi u firmi 6 meseci ne možemo da nađemo (dobrog) medior/senior Laravel programera. Svi koji valjaju su već zauzeti, a oni koji se javljaju na oglase za posao mahom ne umeju običnu CRUD aplikaciju da organizuju u smislen kod.
[ nkrgovic @ 05.07.2017. 08:01 ] @
Mislim da je glavni problem, tj. glavna prednost dobro optimizovanog koga u odnosu na razne framework-e izbacivanje ORM-a. Jednostavno, kad performanse postanu bitne optimizacija kljucnih upita, tj. njihovo prepisivanje postaje jedini nacin dobijanja smisljenih performansi.... Glupoti koje sam nalazio u slow query log-u i koje npr. Eloquent pravi ostavljaju utisak da je to neko nogama pisao. Dodatno, cela filozofija je optimizovana za rad iz koda i niko nije predvideo nacin rada gde se dodaje neki trigger / stored procedura ili bilo sta slicno. Realno, modeli koje napravis tako obicno nemaju ni constraints, jer "to sve radi kod".

Vidjao sam herojske napore da se ostane u okviru ORM-a tako sto se kljucni upiti potrpaju u (nematerijalizovane, tj. jedine u mysql-u) view-ove, koje onda mysql tretira kao normalne upite, vidjao sam ljude koji jednostvno direktno naprave upit iz koda ignorisuci ORM na par kljucnih mesta u kodu, ali neko resenje mora da postoji - taj model je najbolje objasnio jedan kolega koji mi je rekao, parafraziram, "Vidi, Laravel+Eloquent su super za rapid prototyping, ali kad krenes u produkciju neke stvari MORAS da resavas drugacije".

S'druge strane, brzina samog framework koda, tj. ucitavanje klasa i slicno.... to sve popegla opchache, realno, danas sa php 7 lepo podesen server ne oseca razliku. Super je imati mali memory footprint i brzo ucitavanje, ali na sajtu koji ima 100K posetilaca brzina prvog je nebitna - a razlika u brzini se oseti, realno, samo na tom prvom. Moje misljenje kao nekog ko optimizuje servere za sajtove sa stotinama hiljada korisnika: Framework da, ORM oprezno i ne svuda. :)

[ Predrag Supurovic @ 05.07.2017. 11:28 ] @
Citat:

Framework da, ORM oprezno i ne svuda.


A meni najviše što se sviđa kod frejmvorka je upravo ORM, mislim kao princip, ne kao realizacija.

[ Nemanja Avramović @ 05.07.2017. 11:57 ] @
Eloquent je keva

Ne, slažem se generalno - oprezno i ne svuda. U aplikaciji na kojoj radim u firmi smo imali par stranica sa kompleksnim upitima (odrađenim kroz Eloquent) koji su se izvršavali po 30+ sekundi na produkciji (sa realnim podacima), pa sam na kraju morao da sednem i da napišem upite "ručno" u SQL-u i da ih onda prepišem tako da se konstruišu kroz Laravelovu DB fasadu (ne volim raw upite u kodu pa to ti je ), ali sam uspeo da ih spustim na ispod sekunde

Ipak, za 80% stvari (čitaj: obične CRUD operacije koje se provlače kroz svaku aplikaciju) ne treba filozofirati već slobodno koristiti ORM.
[ gost12 @ 07.07.2017. 10:18 ] @
Citat:
Predrag Supurovic: Pa nije baš tako. Skoro sam radio na "redizajnu" jednog sajta tako što smo zadržali potpunosti isti izgled ali izbacili Wordpress koji je bio u pozadini i zamenili ga custom framworkom. Sajt koji je bio na kolenima koliko je bio spor se rastrčao (isti server isti resursi). Čak smo dodali i neke nove funkcionalnosti koje nisu imali na Wordpress-u.

Znam da današnja omladina problem overheda rešava kupovinom više memorije i jačih procesora i većih diskova ali ja sam starija škola i mene traćenje resursa uvek boli, čak i ako se da istrpeti.


Wordpress nije framework već cms koji je izrazito loše napisan.
[ gost12 @ 07.07.2017. 10:23 ] @
ORM shvaćam ko zasebnu cijelinu, a ne dio frameworka. Kod mene dobro funkcionira repository patern sa fluent interfaceom i vraćanje queryja u izgenerirane entitete iz baze. Brzina je savršena (gotovo ko raw upiti, overhead je jako mali), a DAL je isključivo u repozitorijima, pa business logiku nije ni brige za DAL. Slažem se da nije najljepše vidjeti SQL u PHP kodu, ali ako je to samo u repozitorijima i nije neki problem. Praktički arhitektura je takva da osim repozitorija nitko ni nema pristup bazi.
Nije elegantno ko ORM, ali nema probleme koje ORM ima s performansama...

Response time e-commerce sustava kojeg sam preuzeo je iznosio u newrelicu nekih 900ms, nakon godinu dana pao je na 300ms, a sada je evo na 150ms, čisto da netko ne pomisli da mi performanse nisu bitne. Jako su mi bitne, samo imam drukčije mišljenje gdje optimizirati stvari, a gdje je to jednostavno ne isplativo.
(Hardware je ostao isti, a broj posjeta se recimo učetverostručio od tada...)