PHP Frameworks

Kateri frameworks kaj priporočate tako za en srednje velik projekt, kjer bo več vmesnikov in ena poslovna logika, ločeno od izvajanja sql poizvedb, torej tri nivojski sistem.

Delal sem že z Zend, sicer staro verzijo in me ni preveč navdušila, gledal sem še cakePHP in CodeIgniter. na "top 10 ranking" pa je na prvem mestu celo yii, za katerega še sploh slišal nisem (vir: http://www.phpframeworks.com/top-10-php-frameworks/).

Drugače mi je poznano objektno programiranje in tudi bolj položna premica obvladovanja ni problem, če je potem delo hitrejše in enostavnejše.

Po drugi strani pa katerega se najbolj splača znat? Kateri se največ uporablja po razvijalskih firmah?

26 odgovorov

Ne vem točno kaj misliš s tem avtorizacija, ampak CI ima svojo implementacijo Session, ki uporablja kombinacijo server in client cookiejev in jih zna encryptat (na osnovi v configu določenega ključa), tako da prepreči ročno urejanje client cookiea. Poleg tega je še opcija, da so sessioni v bazi in se hkrati preverjajo še z user agentom in IPjem, tako da, če ti ga sunejo, bo ob poskusu dostopa zavržen.
Torej, preverjanje, ali je uporabnik prijavljen, je v osnovi:
if($this->session->userdata('logged_in')) { ... }

Jaz čakam na Zend Framework 2 - že 2 leti :)

Bom pa v kratkem probal Yii. Prvi vtis je super.

Živjo,

Zend framework je super dokler ne začneš stvari pisati kateri bi kasneje uporabil, ne moreš dejansko pisati nekaj modul in pol ga importirati na naslednji projekt moraš ga vedno hackat da ga prilagodiš. Pravijo da bo z ZF2 boljše in tudi ko gledaš slide-e so veliko kaj rešili.

Je pa dejstvo da je Symfony 2 že rešil vse te težave. Razen testiranje ga še nisem uporabil za projekte, je pa super zadeva daleč od ostalih. Če bi imel čas za investirati bi sigurno začel z Symfony 2.

Hitrost mislim da je stvar strežnika, v real life so vsi frameworki približno isto počasi če ponujajo isto stvar.

Lp. Silvester

11

Zakaj pa ne bi mogel reuse-at ZF komponent? Glede na to, da temlji na OOP in MVC, je to že odličen pogoj, da se izdelajo reusable komponente.

Bolj je to odvisno, kako v začetku zastaviš določeno komponento, in kako zelo generično jo sestaviš.

1

Saj problem ni pri komponentah, dokler je samo class v svojem fake namespace u je vse uredu. Problem začne pri modulih, recimo da imaš crud interface za bazo ki ima template-e, js scripte, controller je itd in jih hočes dati ločeno na svn ali git ne moreš jih dati ločeno od cele strukture zf ja. Saj razumem da marsi kaj popraviš bootstrapu in application_resourcu ampak še vedno način delovanja v sf2 je precej boljši ni treba kopirati datoteke v različne folderje. In tukaj je dejanko moč sf2 ja ali je komponenta ali že narejen delček applikacije je vse eno jih imaš čist ločeno od celotne strukture.

Prenesi si en bundle od http://symfony2bundles.org/ in poglej kako so stukturirani pa boš lažji razumel kaj mislim.

Lp.

Struktura projekta/aplikacije je res kompleksna, se strinjam.

Glede na to da zadnje čase delam večinoma z Django-tom, mi je ta struktura najbližje (sploh od kar imamo v 1.3, django.contrib.staticfiles), in res deluje, tudi prenos v versioning sisteme je painless, ker lahko na nivoju aplikacije ločiš vse, od modelov, view-jev, statike, url config, ...

1

Sem bil na ZF, kar dolgo časa. Potem sem nekje takle čas člani začel spremljati Symfony2. Okrog novega leta, pa se je ponudila priložnost pri manjšem projektu za preizkus sf2, kateri je bil takrat še krepko v razvoju. No s spremljanjem commitov na githubu, so bili upgradi na novejšo verzijo iz mastra kar painless.
Odkar je marca v sf2 pristal form rewrite se pa ZF lahko skrije v kot in tam joka.
aja sf2 ima reusable komponente, ki jih lahko vključiš v svoj projekt. Poleg tega pa je framework sestavljen tako, da ga je ultra enostavno vključiti v katerikoli star projekt.

Edit 2: config datoteke v sf2 so xml ali yaml

2

Živio,

Zadnje čase precej časa posvečam izberi php frameworka za manjšo business aplikacijo. Do sedaj sem uporabljal Codeigniter, ki je nekako mrtev ter Laravel katerega trenutno aktivno uporabljam. Sedaj pa me muči vprašanje kako naj izdelam to aplikacijo.

Naj uporabnim Laravel, ki ga že dobro poznam ali začnem z Zend frameworkom, ki je po mojem mnenju bolj namenjen takim aplikacijam oz. native PHP?

Hvala za pomoč

Jaz bi predlagal da jo izdelaš s tistim frameworkom, v katerem si doma.

1

se strinjam z atletom....uporabi tisto v katerem si bolj doma

Da se zdajle lotiš delat z ZF2 boš porabil toliko časa da boš pogruntal kako se sploh dela, da bi imel že vse narejeno + verjetno bolje :D

1