PHP framework!
10 naročnikov
10 naročnikov
Sem bolj začetnik v frameworkih in ker nimam še nobenega najljubšega bi vas vprašal kerega naj si izberem. Rad bi da je enostaven, majhen (ne tako kot Zend ko je velik do 45MB).
Všeč bi mi bilo recimo, če bi framework imel .pdf manual da si manual izprintam ... ker je prehajanje med okni res težko ko izprobavaš zglede :)
19 odgovorov
Ledi:
lahk men kej zatežiš če maš probleme z cakephp :D
offTopic@: Sam Ledi vedno pošle račun domov :) hehe, joke :)
Moj glas gre za Zend framework, v primeru, da si vsaj nekaj časa v PHP-ju, drugače pa CodeIgnator. Ne priporočam pa cakePHP, če že na novo delaš stvar.
Ko smo že pri frameworkih...ali mi lahko prosim nekdo bolj POLJUDNO razloži, kaj pravzaprav je framework (CodeIgnitor, cakePHP, itd...)? Ali gre to za neke vrste UI kjer lažje programiraš, ali ....? Sem namreč začetnik v PHP-ju in me resnično zanima njihov namen.
Vnaprej hvala za odgovor.
Bistvo frameworka, oz. ogrodja je, da je reusable. Torej imaš eno ogrodje, s katerim začneš vsak projekt.
V bistvu je vsak programer, sploh v časih ko se je delalo vse from scratch, imel nek svoj framework, ki je bil sestavljen, vsaj iz "knjižice" za delo z bazo.
Frameworki, ki pa se omenjajo tukaj, pa so iz družine t.i. MVC frameworkov. Ti so se, kot skoraj vsaka stvar danes, zečeli pri javi (Spring), kot tudi naprimer razni ORM-ji (Hibernate), v bistvu danes praktično ni stvari, ki se uporablja pri "modernem" programiranju, ki ni prišla iz Jave.
MVC, je kratica za Model View Controller, kar pomeni, da imamo ločen podatkovni model (Model), ločeno logiko za prikaz (View) in ločeno "poslovno logiko", ki se nahaj v Controllerjih.
Se pravi to je ena prednost MVC frameworka, imamo ločen podatkovni model, prikazovanje in handlanje requestov in responsev.
Prednost je seveda jasna, večja preglednost, in pa možnost reusanje kode, spomnimo se časov "špageti kode", kjer si moral praktično vsakič it from scratch, ker ni blo možno reuse-anje.
Druga prednost pa je v raznih ORM-ji, knjižnicah in command line orodjih, ki ti delo bistveno olajšajo. Pri večini je tako, da z neki ukazi v command line-u, in nekaj nastavitvami, narediš delujočo aplikacijo, ORM-ji pa ti omogočajo generiranje CRUD kode (Create-Read-Update-Delete).
Se pravi lahko neko osnovno aplikacijo "zgeneriraš" v minutah...
Sploh pa naprimer Zend je super zadeva, kjer lahko zelo enostavno pobereš zadeve ki jih rabiš, jih prilagodiš tvojemu namenu, in voila, imaš svoj framework!
Pa še to, Zend ima tudi IDE, Zend Studio , ki stvari še dodatno olajša.
Drugače pa je za razvoj super zadeva ali Eclipse ali pa Netbeans, jaz zadnje čase za Django uporabljam, Netbeans, ker se mi zdi da ima boljšo podporo za Python kot pa jo ima Eclipse.
Imata pa oba tudi možnost dela z SVN-jem, in druge goody-e, torej obvezna stvar za vsakega programerja!
Najlepša hvala za prijaznost in razlago! Bi pa imel še eno vprašanje...kaj se mi bolj splača...ali začeti z npr. ZEND STUDIOM ali je pametneje najprej osvojiti PHP kot programski jezik? Osnove PHP-ja so mi namreč jasne...pri kompleksnih zadevah pa sem še bolj zelen. Torej...bi mi bilo kaj lažje če bi se začel ukvarjati z ZEND STUDIOM oz. podobnim frameworkom? Ali drugače...bi se učenje s frameworkom kaj pohitrilo?
Odvisno na kakšnih aplikacijah delaš. Vsekakor je bolje za tvoje znanje, da sam spišeš določene zadeve, se parkrat opečeš in greš naprej z znanjem, ki si ga pridobil. Lahko pa pač direktno začneš na Zend Framework, se poglobiš v zadevo in osvojiš znanje, ki ga boš lahko pokazal v podjetju.
Definitivno začneš z osnovami PHP. Priporočam kakšno knjigo o PHP5, in predvsem o OOP(objektno orientirano programiranje), konec koncev, frameworki temeljijo na tem.
Poleg tega, se PHP z vsako različico bolj približuje Javi, ki pa je že od same začetka objektno orientirana.
Torej priporočam, da osvojiš: osnove OOP, PHP5, ORM (npr. Doctrine), kakšen template engine, potem pa prehod na enega izmed frameworkov.
Mislim, da moraš poznat najprej osnove, potem ti bo tudi delovanja FW-jev bolj razumljivo., in konec konce, tudi lažje se jih boš učil.
Mogoče velja omeniti še en FW, in to je Flow3.
Typo3 fantje so se res potrudili, in pred letom ko sem bil na Typo3 konferenci, je bila zadeva tako "bleeding edge", da je uporabljalal celo alpha release PHP-ja, ker so kar nekaj zadev, šli portati iz Jave. Najbolj zanimiva zadeva je Content Repository, po JCR standardu!
Mislim, da zna v prihodnje biti to kar huda konkurenca ZF, sploh če govorimo o "enterprise grade" FW-jih, pa tudi community, ki bo to zadevo razvijal in vzdrževal, ni zanemarljiv.
Priporočam za PHP sladokusce! :)