Jednostavan MVC za visejezicni site

Definitivno preporuka za framework.
Laminas, Symfony, Laravel od full blown
il’ Mezzio, Slim (uglavnom ako bi se API radio mada može da se izgrađuju takođe po potrebi).
Nosi se činjenicom da ti treba standardizovan pristup pomoću kojeg će lakše biti riješiti probleme jer ako imaš problem, ukol’ko pristup i koncept nije standardizovan, puno je teže srediti stvari a nekad nije ni moguće. Nadalje, prateći dobru praksu olakšavaš sebi održavanje i nadogradnju koji su takođe pita ako je u pitanju kod koji ne ide za tom maksimom.
Ovi navedeni fw-ci prate must have standarde HTTP protokola poput PSR-7 i PSR-15.
Istu količinu energije ćeš uložiti a za rezultat imaćeš kršten proizvod i mogućnost da nadograđuješ beskonačan niz (takođe standardnih) paketa i dodataka iz GitHub izbornika.
Potraži na github-u, može i iz google-a, “framework_name skeleton” za bilo koji od navedenih (il’ sve i jedan) i dobićeš startnu poziciju za aplikaciju. Ukol’ko nisi najiskusniji šta izabrati, biraj repozitorijume/projekte sa 1k+ zvjezdica il’ linkuj ovde da se presudi.
Lično koristim Laravel godinama (najviše zbog toga jer sam navik’o na Eloquent) al’ ovi ostali su možda i više PHP-ovski™. Sve ostalo ti je ošljarenje.

@b3ade

1 Like

Shvacam takav pristup, ali jednostavno ne zelim ovisiti o eventualno nekom tudjem kodu i pratiti njegovu ranjivost ili upgrejde (znam da je to super ispeglano, al opet)
Pomisao da imam, karikiram 50mb koda za 10ak osnovnih operacija me uzasava. :slight_smile:
Isto tako mislim da ce mi manje vremena uzeti vlastito basic rjesenje, nego ufurati se full u neki framework, a to mi je trenutno bitna stavka.
Meni ne trebaju neke extra stvari vec samo kostur i kako odvojiti u posebne cjeline dizajn, funkcionalnosti, multijezicnost, login…

Koje otkrice, cijelo vrijeme okolo govorim kostur i mislim o kosturu koda, a ni na kraj pameti da proguglam “nesto skeleton”, vec se ogranicio pojmovima poput simple, basic bla bla… :smiley:

Ne slažem se sa filozofijom da mogu napraviti bolje (u ma kakvom aspektu i azimutu) od desetina hiljada inžinjera i developera koji su razvijali nešto desetak i više godina. Moje je da koristim i ukažem ako ne valja (nisam im’o zamjerki dosad za bilo kakav open source koji održavaju i peglaju na stotine i hiljade ljudi). Tvojim pristupom bi’ im’o upravo loš kod i nepovjerenje u sigurnost samog koda a što se može naučiti (pristup sigurnosti) upravo iz projekata poput navedenih il’ nekih drugih composer/npm/pip/gem paketa instalisanih desetine, stotine hiljada pa čak i milione puta.
Iracionalno, nepraktično i neefikasno bi bilo da sumnjam u tako nešto.
Medjutim to bi se već penjalo na ¢3 za šta ni jedan od nas nema vremena. :stuck_out_tongue:

Danas se uglavnom puno komplicira i filozofira.
A sve moze biti vrlo jednostavno. Ako je nesto komplicirano ili jednostavno ne znaci da je oboje dobro ili lose.

Jedno i drugo moze biti i lose i dobro.

Jedina komplikacija je ako neko odstupa od standarda. Ništa drugo. Ni manje ni više.

A sta se to tacno filozofira i komplicira ? Za ocekivati je da jedan kompleksan sistem/aplikacija bude komplikovaniji od neke CRUD zajebancije.

Kompleksna aplikacija je samo zato što ima puno mogućnosti, provjera, spajanja na x api-a, x integracija itd., a sve se se svodi na dohvati podatke, obrade i spremanja u bazi ili obradi ulazne podatke, dohvati iz baze, obradi i prikaži korisniku.

To što je app kompleksna, code može biti jednostavan, a da radi svoj posao.

Tu pričamo o app za koje se koristi php, nodejs i sl.

Radio sam sa vrlo vrlo kompleksnih aplikacijama, baza 900+ tablica , 700 funkcija, 300 procedura itd… Tako da znam što pričam.

Dobro i dalje mi nisi odgovorio sta se tacno komplicira i filozofira ? Eto sta je to zakomplikovano u tim popularnim PHP frameworcima koje je @tpojka spomenuo ?

aha, piece of cake :smiley:

Ne znam stvarno sta mislis kad kazes “jednostavan kod”, volio bih da to pokrijes nekim konkretnim primjerom eto mozes uzeti primjer iz gore pomenutih Frameworka i pored toga dati neku svoju soluciju.
Ako imas neki kompleksan algoritam u pozadini, koji uz sve to mora biti sto efikasniji sumnjam da ce taj kod biti “jednostavan”.

Kompleksan je koncept, design patterni itd.

Tu ne govorim o algoritmima, govorim o app.

Jednostavan code je za mene cisti code koje je lako razumljiv svima i kad se pogleda da se zna sto je pjesnik htio reci. Algoritmi su drugo i njih ne treba trpati u isti kos.

Npr. arhitektura kao mvc ima nekoliko cak i desetine.

Uglavnom radio sam CI3, kad je dosla verzija 4, to sve bacio. Jer nije kompatibilno, drugo sve library-e koje sam si napravio, sad bi opet trebao raditi ispocetka. Ne vise. Tko voli neka izvoli.
Radio sam i phalcon, svaka nova verzija, hrpa izmjena.

Sigurno vise necu koristiti tuđi mvc.

Uzmi magento, da li php developer koji nije radio mvc, koji ne zna design patterne, da li odma moze uzeti magento i raditi. Naravno da ne. To je problem. Ako uzmem sw, onda ocekujem da se moze taj komad sw-a prouciti u max. 10-14 dana.

Nemam vremena uciti laravel, symfony ili magento 6-12 mj. Doduse laravel cu do kraja nauciti.

1 Like

Ovo nije tačno.

K’o god radi po sistemu struke i zanata tj. prati standardizaciju u stopu, zna da je Magento radjen sa Zend i Symfony paketima (u najvećoj mjeri) i tamo nema ništa što ne postoji u drugim (a koje prate standard struke) aplikacijama.
Da l’ nekom treba 10 dana il’ 10 mjeseci da to poveže/uhaviza to je već individualno i zavisi ne samo od iskustva već direktno od načina na koji osoba prisvaja/stiče znanje a u prvom redu prateći zvaničnu dokumentaciju i industrijski standard.

Zar je bitno kol’ko modula postoji - 10 il’ 220 ako im je inicijalizacija jednaka. E upravo shvatanje inicijalizacije, odnosno workflow-a koda se dostiže kad se poznaje oblast u nivou standarda.
Ne ide drugačije.

Znaš kad bi sa CI3 uradio Magento? Tačno: nikad.
Sam da uradiš što je 1500 inžinjera/developera uradilo za Magento u 12 godina? Right.

Meni samo nije jasno zašto zdušno zagovarate takav životni anti-patern, ne samo profesionalni, da se ne treba voditi najboljom praksom i industrijskim standardom svake oblasti u kojoj se.
Ne to mi nije jasno, al’ nema veze. Svako zna dovoljno za sebe, valjda.

Nitko ne zagovara, svatko radi kako mu odgovara.

Pa zagovarate u smislu da negirate superiornost industrijskog standarda i dobre prakse.

Saglasan. Bujrum.

Osim dijela kad neko pita kako i šta da radi.
Naravno da ću tad objašnjavati (što sam radio i u postovim dosad) šta je dobar a šta loš način a ujedno zagovarati i propagirati dobar.

@b3ade Odgovara l’ ti Drupal?

Tu mjesate kruske i jabuke i umjesto da ucite od međusobnih razlicitosti pokusavate jedni druge natjerati da misle poput vas. Pogresno.

Svakako treba cjeniti i jedan i drugi aspekat dok god onaj tko prica ima nesto pametno za podijeliti.

Iz vlastitog iskustva prije nesto vise od dvije godine tu sam pitao da mi netko pojasni sto je angular i belmin me je uputio u kratkim crtama. Zadnje dvije godine i nesto vise od tada svaki dan radim upravo u javascipt framwworku koji je naj opsezniji i najtezi od svih prisutnih na trzistu. Da mi netko kaze da biram pisati javascript i raditi svoj sustav ili angular ne bi sekundu dvojio. A s druge strane postujem i cjenim ljude koji pisu iz pocetka, genijalce od kojih se svakako ima ponesto za nauciti.

Kod mene je prisutan razlog da frontend radim u angularu, a za ucenje jos jednog php frameworka nemam trenutno vremena i radim svoj api iz pocetka, iako bih volio rasturati jos i jedan php framework, a i znati napisati sve sam kako bi znao sto se u pozadini dogadja i bio bolji programer.

Ajde da cujemo i jednu i drugu stranu i nesto naucimo.

…I dobar FW jednim dijelom sluzi za to, da te natjera da pratis dobre prakse a ne da brljas stvari kako ti zelis.

Sta je tu sporno ? Novi major release, znaci breaking-changes.Pa ne mozes ocekivati od neceg sto se aktivno razvija da bude backwards compatible 10 godina u nazad :smiley:

Jako puno ocekujes, za 10-14 dana tesko da mozes bilo sta kvalitetno prouciti.

To je nazalost tvoj problem, i to sto Laravel nudi puno ne znaci da je los ili prekomplikovan, vec samo da ti ne zelis uloziti vrijeme da temeljno naucis isti.

Mrka kapa otkako peric i creatifcode ne pišu (bar što se PHP-a tiče).
Naravno, cijenim svakog ko prikaže znanje u postu a njih dvojica su to i radili.

govorio sam o tome i uz dužno poštovanje prema svima forum se pretvorio u mjesto koje promovira zaradu putem interneta, programeri su iz većine svrstani u manjinu. Iako ima zanimljivih tema i zabavno je ponekad pisati offtopic ali programeri nemaju nešto da ih stalno drži tu osim nostalgije.

Mislis na organizaciju koda ili kao CMS?
Ne odgovara mi nijedan CMS za moj projekt, da je tako uzeo bi WP isprogramirao plugin i ajmo dalje.

Ne odupire se nitko nicemu, samo po cemu je to neki FW industrijski standard ili WP, zato sto ga puno ljudi koristi?
Sto fali ogoljelom kodu s jednakim principom kao neki FW?

Bio sam poceo Laravel ali odustao jer je tu toliko stvari koje mi ne trebaju i samo mi rade distrakciju, a nemam vremena loviti to ispocetka, sto ne znaci nuzno da jednog dana ne zelim prepisati projekt u neki FW.
Gledao sam malo jucer i Symfony i mogu reci da mi je vise sjeo, al ponavljam trenutno nemam vremena ulaziti tako duboko u druge sustave. Jednostavnije mi je uzeti dobar okrljusteni princip i postupno se nadogradivati na njega, te jednog dana sjesti i prepisati u neki FW.
I to u puno kracem vremenu i s boljim kodom nego sto bi to napravio sada, kad mi je vrijeme bitan faktor.

Otprilike oboje. Drupalov kod ide dobrom praksom. A masa stvari vjerovatno postoji u obliku ekstenzija. Ovo pričam jer sam već i sam zaključio da nemaš vremena da se posvetiš nečemu poput Laminas-a il’ Symfony-ja. Nisam radio u Drupalu već sam odgled’o ovu Build Drupal Module listu. Kod je maintainable što b’ se reklo - ne bi bio problem upotrijebiti PHP paket po želji da bi se na jednostavniji način dobio željeni rezultat.

Pa recimo, po onome što ključni ljudi PHP-a smatraju i kako rade.
Kreator PHPUnit-a, kreator Xdebug-a, kreator PHPMailer-a, kreator Slim-a, kreator Symfony-ja, kreator Doctrine ORM-a, PHP core developers za mene su nesumnjiv autoritet čije znanje uzimam zdravo za gotovo a ono makar dok ne budem znao bolje od njih svih. To je za mene no-brainer i ne vidim razlog raspravi niti polemici u vezi sa tim.

Koristi se zato što je najjeftiniji. As simple as that.

Pazi PHP core developeri uopšte ne podržavaju niti imaju simpatije (naprotiv) Laravel.
Zato i ističem da treba učiti Laminas i Symfony prije nego pomenem Laravel koji lično koristim.

Uvijek je i biće ti samo bitniji.

Sjećam se. Tako sam ostavio duvan. :smile:

Autor PHP-a Rasmus, kaže da su frameworci …

Inženjeri teh. struka u najmanje 80% i matematicari u vecem % su najgori programeri.

Gledao sam laminas framework, ne privlaci me.
Koliko ce mu biti zivotni vijek? :sweat_smile::sweat_smile::sweat_smile:

Pitanje je kad ce pocet naplacivati support ili licencu.