T&R splet blog o spletnih storitvah. Razgaljamo tehnologijo!

reference spletnih strani
26th March

Kateri framework oz. CMS uporabiti, če sploh – PHP

Po mnenju nekaterih so frameworki, CMS-ji sedaj zreli za uporabo. Pa to drži? Katerega vi uporabljate, pišete svojega? Najbolj popularni PHP CMS-ji kot so:

… meni osebno niso preveč všeč (čeprav sem jih na začetku v fazi učenja največ uporabljal). Že res, da nudijo hiter način za kreiranje osnovnih spletni strani, ki so znotraj možnosti, ki jih CMS ima, a največji problem oz. zamera z moje strani je ta, da ti, ko hočeš stvari spreminjati v drobovju vzame veliko več časa (problem omejevanja), kot če bi uporabljal svoj ali nek drug framework. Drug problem je seveda učenje njihovega načina programiranja (direktive) in njihovih funkcij, žal pa je dokumentacije le teh pri večini slaba. Eni CMS-ji so pri tem boljši, eni slabši. Začetne težave s stabilnostjo so rešili, tudi večino varnostnih problem so popravili, a vseeno je možnost uspeha napadalca pri takih CMS-jih večja, ker imajo polni dostop do kode, če ne drugega pa tudi zaradi samega obsega kode.

Druga možnost je uporaba framework-a, ki ti prihrani čas izdelave svojih wrapperjev in ti pripravi določeno arhitekturo, ki ji slediš (naprimer MVC). Nekaj izmed PHP framework-ov:

Kratka razlaga in primerjava nam podata nekaj osnovnih informacij o kvaliteti, usmeritvi in podobno (velikost skupnost, povprečni čas izdaje popravkov, novih verzij, podjetje ki stoji za tem, dokumentacija). Vseeno je vseh framework-ov preveč, da bi vse preizkusil na daljši rok, zato je (začetna) odločitev kateri framework bomo uporabili vsekakor zelo pomembna. Lahko zgradimo tudi svojega, kar nam vzame veliko časa a imamo največ kontrole in pregleda, vendar pomanjkanje mnenj drugi razvijalec večinoma vodi k slabemu framework-u. Po mojih izkušnjah je cakePHP vredu stvar, a je njihova dokumentacija resnično slaba.

Lahko pa vzamemo tretjo opcijo naprimer Ruby on Rails o katerem sem zadnje čase, kar veliko slišal. Pri skoraj vseh je to njihov ljubljenček, pretiravajo ali pa je res tako dober? Mogoče pa imate radi kontrolo in moč brez omejitev ter razen nekaterih wrapperjev vedno vse pišete znova ali pa zaradi časa niste imeli možnosti pregleda ostalih opcij in ste zato omejeni na začetno odločitev?

Dodatne informacije:

Kaj pa vi uporabljate? CMS, framework? Pišete svojega ali uporabljate enega izmed zgoraj naštetih, nekaj tretjega? Mogoče pa je tudi vaš ljubljenček Ruby on Rails, zakaj?

Vsekakor me zanima vaše mnenje o tem, saj sem (smo) tudi mi pred enako odločitvijo, kaj izbrati!

Deli s skupnostjo:

  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Podobni članki:

  1. PHP Smarty – zlo ali nebesa – uporabiti ali ne?
  2. PHP setlocale (seznam držav in kode le-teh)
  3. PHP – Kreiranje Excel datoteke – Pisanje v Excel datoteko – PHP – xls
  4. Katero kodiranje uporabiti pri izdelavi internetnih strani?
  5. Postopek izdelave spletne strani
  6. Kdaj uporabiti class in kdaj id oznako za CSS selektorje

17x komentirano na “Kateri framework oz. CMS uporabiti, če sploh – PHP”

  1. Boštjan je napisal:

    Jaz sem se odločil za zend framework.
    Symfony se mi zdi prekopleksen in čuden za uporabu (mogoče bi se spremenilo, ko bi ga neki časa uporabljal).

    Za zend FW lahko rečem, da je dokumentacija zelo dobra, support po forumih tudi tko, da glede pomoči je ok.

    CMSjev pa ne maram :)

  2. Jernej je napisal:

    Jaz pa uporabljam svoj Framework, problem je da pri vnaprej narejenih FW moreš vsej na začetku iskati zadeve, pa nekatere stvari lahko narediš boljše drugih mogoče sploh ne potrebuješ. Če pametno pišeš zadeve šibajo 100 na uro … proti tem FWom.

    + closed source.

  3. gasper_k je napisal:

    Ne bi se strinjal, da je izbira frameworka tako zelo pomembna. Ja, nekim osnovnim kriterijem mora stvar zadoščati (kot si omenil, aktivnost skupnosti, dokumentacija, kvaliteta in fleksibilnost kode, …), ampak znotraj tega gre pa samo za osebne preference (oz. preference šefov v službi). In taka opcija na daleč poseka domače frameworke, razen v izjemnih primerih, kjer so potrebe aplikacije tako drugačne, da splošni frameworki ne ustrezajo — kar je pa zelo redko.

  4. Roky je napisal:

    @gasper_k: Ampak če zajebaš izbiro in se vmes potem odločiš za nekaj drugega, potem zgubiš tist čas, ki bi ga drugače prihranil s pisanjem svojega frameworka saj ta čas nadomestiš s menjavo framework-a in kode v tvojem projektu.

    Zaenkrat mi je pa najbolj všeč codeIgnitor, ima kdo kakšne hands-on izkušnje?

    @Boštjan: Ob Symfony sem dobil podoben “prvi” občutek.

  5. gasper_k je napisal:

    Ah, kje, sploh ni tako.

    Najprej; če framework izbereš po nekih dobrih kriterijih, nisi zajebal izbire in pika. Tukaj ni debate. Symfony, Zend, CodeIgniter, cakePHP in še marsikateri — z nobenim od teh ne fališ. Razen, če ti ni všeč. Ampak v tem primeru težko rečeš, da si zajebal izbiro. :)

    Drugo, omenjeni frameworki so z velikostjo aktivne ekipe, skupnostjo, podporo, dokumentacijo, optimizacijo, dodatki in še z marsičem tako daleč pred čimerkoli, kar lahko razvije majhna skupina razvijalcev, da primerjava sploh ni na mestu. Čas, ki ga mora majhna firma vložiti v lasten framework, da bi le-ta zdržal 3-4 različno kompleksne projekte, je parkrat večji, kot če se isti ljudje samo naučijo nekega obstoječega. Pri tem, da na koncu v rokah vseeno nimaš frameworka, ki bi se lahko s “ta pravimi” primerjal. In seveda nimaš zadovoljive dokumentacije in skupnosti, ki bi pomagala zadevo razhroščevati in razvijati, razen če je stvar kvalitetna in jo odpreš za javnost. Razvoj lastnega frameworka je smiseln samo, če se učiš in širiš obzorja, ali pa če misliš z zadevo resno in se greš opensource.

    Drugače pa, mi uporabljamo Symfony in smo zelo zadovoljni. Začetna investicija se splača, stvar pa je primerna od najmanjših projektov do glomaznih aplikacij. V 1.1 se pa pripravlja še kup novosti, ki bodo stvari samo še izboljšale.

  6. Boštjan je napisal:

    jst mam svoj framework… in ker nism še v nobeni fermi nimam problemov z tem da kdo nebi razumel mojih funkcij :D

  7. Roky je napisal:

    @gasper_k: Se strinjam, če izbereš enega izmed zgoraj omenjenih nimaš veliko za zgrešit, razen pri cakePHp se ne strinjam, kjer je njihova dokumentaciaj v kurcu (vsaj zame:P).

    Symfony, začetna investicija. Cirka 1,2,3 tedne da osvojiš ali hitreje?

    @Boštjan, tako kot pravi gasper_k. Open source in gremo:)

  8. fett je napisal:

    Težko reči, odvisno kako razumeš “osvojitev”. Verjetno tudi po enem letu še ne znaš vsega. Ampak ja, če si priden, znaš po parih tednih že marsikaj. Se splača iti skozi tutoriale in te zadeve. Pa online knjiga tudi ni slaba zadeva, lahko branje. :)

  9. .: TRSplet - internetne storitve .: » Blog Archive » Postopek izdelave spletne strani je napisal:

    [...] – Opera 9.5 – prvi brskalnRoky – Opera 9.5 – prvi brskalnikArjan – Opera 9.5 – prvi brskalnifett – Kateri framework oz. CMS uAntony – Opera 9.5 – prvi brskalnRoky – Dinamično kreiranje / UpraRoky – Kateri framework oz. CMS [...]

  10. mtK je napisal:

    K smo že glih pr frameworkih, me zanima če bi napisu kkšn vodič oziroma članek o Zend Framework-u?

  11. Roky je napisal:

    Odvisno, če ga bomo uporabili potem z veseljem, drugače pa bolj težko na pamet pišem. Vsekakor je še veliko zanimiv tem za obdelat:) (hvala za predlog)

  12. PHP Konferenca - prva slovenskega PHP konferenca | .: TRSplet - internetne storitve .: je napisal:

    [...] Zakaj? Ker sem se o tem tudi sam spraševal na blogu. [...]

  13. Tim je napisal:

    hard-core-coder (no framework :}), sam v naprej spisani razredi in funkcije :P

  14. Roky je napisal:

    Po daljšem času vidiš, da je kak framework kot Zend boljša izbira. Je pa to zelo subjektivna zadeva in tudi odvisna od projekta do projekta.

  15. red_mamba je napisal:

    Jaz navijam za cakePHP, tudi precej let ga že uporabljam :D
    Čeprav opažam da ga izredno malo Slovenskih razvijalcev uporablja,
    bi občasno rabil kakšno pomoč pri spletnih straneh zaradi preveč dela pa nimam komu dela za dat :P

  16. Mesko je napisal:

    Pred kratkim sem se počasi spravljal delat svoj framework po modelu MVC, Registry in Singleton koncept. sicer primarni namen je učenje in kasneje da bi delal svoje aplikacije.

    Gledal sem tudi Zend, cakePHP in CodeIgniter. Od teh mi je bil najbolj všeč CodeIgniter, vendar ga nisem izbral, ker ni bil to kar sem si jst želel pa še sintakso mi je imel malo čudno.

    Prej sem bil pa hard-core-coder. Neko jedro sem imel, ki sem mu samo dodajal vse skupaj napisano, vendar nic kej posebnega.

  17. Roky je napisal:

    Jaz vedno več uporabljam Zend in mi je zaenkrat kul! Tko da moja primarna izbira bi bila Zend, duga pa cakePHP.

Dodaj komentar