Hvilket php framework er bedst til begynderen?

Tags:    php framework

Hej

Jeg går og koder lidt PHP, og har hørt at man kan benytte nogle frameworks, som hedder Code Igniter, CakePHP osv. til at kode sin hjemmeside i, for at få et bedre og mere 'genbrugeligt' design, jævnfør MVC mønstret.

Men hvilket framework er egentlig bedst for mit vedkommende (forholdsvis begynder), og findes der også en PHP 'editor' til disse frameworks?

Hvis i finder et framework bedre end de to jeg lige har nævnt, så er i velkommen til at fortælle om dem, da jeg ikke har så meget erfaring med dette.

Mvh Jesper



Der findes et hav af PHP frameworks.

CodeIgniter henvender sig til folk med en ikke-specielt OOP-baseret PHP-baggrund der gerne vil lave nede-på-jorden OOP uden de mere forfinede og akademiske design patterns. Denne filosofi gør det nybegyndervenligt og lynende hurtigt. Jeg føler mig godt til rette i dette.

CakePHP, Symfony, Zend Framework, KohanaPHP(v3 i dette tilfælde, v2. er en klon af CodeIgniter) mv. henvender sig til folk med en eksisterende MVC/OOP-baggrund fra fx Ruby on Rails og tilsvarende, der gerne vil have de mere forkromede ORM-baserede libraries og tilsvarende. De er effektive og rare at arbejde i, hvis man er af den holdning at kodeindkapsling og så mange småklasser som muligt er vejen frem. Desværre er de alle sammen meget langsommere end CodeIgniter, og kræver derfor større serverkraft for samme ydelse, og er ikke lige begyndervenlige. Hvis du giver dig i kast med et af disse vil jeg klart foreslå dig at vælge CakePHP.

Der findes ikke specielt med PHP editors designet specifikt til nogle af disse frameworks. Grundet CodeIgniter's begyndervenlige-men-uortodokse OOP-model er den dog ikke ligeså egnet til diverse IDE'ers objekt browser o.lign. Den gode nyhed er at simpliciteten gør at det ikke er nødvendigt.



Hej Jesper,

Der findes ganske rigtigt en masse til PHP. Hvilket der er bedst kan vi ikke debatere da det afhænger af hvad du har behov for osv.

Først vil jeg dog sige at du efter min mening bør have et nogen lunde kendskab til PHP før du bevæger dig ud i frameworks. Når du gør det så overgiver du dig til frameworket og derfor er du nød til at kende PHP ret godt så du har mulighed for at debugge hvis du støder med panden imod muren.

Hvis du ønsker at benytte en MVC struktur, vil jeg anbefale dig at bruge Zend Framework i en minified version som kun indeholder MVC delen. Alternativt findes der en del guides der viser hvordan du selv laver det.

Som Per Sikker Hansen skriver, så findes der masser af frameworks der ude, med hver sine fordele og ulemper. Så før du vælger et, så sæt dig ind i hvad det har af krav og evt. læs nogle forum poster omkring dem.

Dem jeg kender on top of my head er:
- Zend Framework
- CakePHP
- CodeIgniter
- Kohana (CodeIgniter forgrening)
- Symfony
- Akelos

Personligt valgte jeg at skrive mit eget framework da jeg ikke har behov for alt det "bras" som følger med de fleste :-)



Indlæg senest redigeret d. 02.05.2011 13:54 af Bruger #12245
- Kohana (CodeIgniter forgrening)


Lige for at fluekneppe, så var Kohana oprindeligt en CodeIgniter community branch. Det startede med BlueFlame, der var en flok CodeIgniter-brugere der gik buglisten for CodeIgniter igennem og lavede en uofficiel patch. Senere splittede de så fra CodeIgniter og lavede en reel fork, som de kaldte KohanaPHP 1. Ved KohanaPHP version 2 skrev de det hele om fra bunden til at være en klon af CodeIgniter snarere end en kopi med rettelser, og KohanaPHP 3 er endnu en total omskrivning der nu har mest tilfælles med Zend Framework.

Så at kalde KohanaPHP en CodeIgniter-forgrening er efterhånden en tilsnigelse :)

[/historielektion]



Tak for updaten Per :-) Har ikke fulgt Kohana så meget, men det lyder som om at de giver den meget godt gas med det :-)



Det gør de skam. Det eneste problem er at der er en ret stor skisme indenfor miljøet angående Kohana 2 vs. Kohana 3. Kohana 3 var mere eller mindre én af devsne der forsvandt en sommer og kom tilbage i efteråret med en nyskrevet stak PHP-kode og sagde: "Det her er Kohana 3.". Det var ikke alle der tog det lige pænt.



Jeg vil også gerne lige foreslå Fat-free (http://fatfree.sourceforge.net/), som er et ultra-letvægts-framework.

De andre store frameworks som Zend, CodeIgniter og CakePHP er allesammen fantastiske - men de er også meget omfattende, og kan være lidt skræmmende at kaste sig ind i.

Fat-Free har kun det mest nødvendige, fylder kun 55kb og kan udvides efterhånden, som man har mod på mere.

I mine øjne er der ikke et "bedste framework" - det afhænger meget af formålet og ens behov. Jeg har i flere projekter skrevet mit eget MVC framework - mest fordi det så er tilpasset nøjagtigt til behovet, og fordi jeg er 100% sikker på, hvad det kan og at det ikke har for meget :-)



t