Sammenlignende vurdering af udenlandske mainstream PHP Framework



For nylig brugte en simpel sammenligning af de nuværende i landet med mere end et par store udenlandske PHP ramme (ekskl. indenlandsk ramme), der er en generel ramme for disse intuitive følelser, enkle dele, for udvælgelse af rammerne for, hvad de skal gøre, nårhøjre, når en reference.

De vigtigste referenceramme omfatter: CodeIgniter, CakePHP, ZendFramework, Symfoni.Jeg kan ikke seriøst bruge en masse af den ramme, skal du blot prøve en lidt umoden, eller kan være en masse udtalelser er forkert, bedes du rette mig, til at vokse sammen.

CodeIgniter

Fordele:

. 1 Konfiguration enkle, alle konfigureres til at bruge PHP script til at konfigurere, udføre med høj effektivitet; med grundlæggende routing muligheder for at distribuere en vis grad, en foreløbig Layout funktion, i stand til at producere en vis grad af udseende og føler; database lag af en god pakkemed den grundlæggende funktion af MVC

. 2 Quick simpel lille kode til at gennemføre højtydende, rammerne er enkle, let at bruge, studere, lave omkostninger, dokument i detaljer; kommer med en masse nemme at bruge biblioteket, rammerne for små applikationer

Ulemper:

1. Model lag tolkes som en simpel database operationer

2. Framework noget simpelt, små programmer kan kun være tilfredse, lidt mindre i stand til at opfylde behovene hos mellemstore applikationer

Bedømmelse:

Samlet set tager at fuldføre en hurtig og nem CodeIgniter anvendelsen deraf stadig er værd at konstruere en vis grad af layout, nem skabelon genbrug, data manipulation lag er en god pakke, og CodeIgniter ikke bruge mange mønstre er for komplekse til at gennemføreydeevne og kode læsbarhed er gode.Med hensyn til de yderligere biblioteket er også godt, enkel og effektiv.

CakePHP

Fordele:

. 1 CakePHP er den mest ligner RoR rammer, herunder designtilstand, Active Record database drift betyder, design niveau er meget elegant, ikke ejer ekstra bibliotek, alle funktioner er rene rammer, effektivitet er ikke dårligt; database lagDen hasOne, hasMany funktion er meget kraftfuld, mere passende for komplekse forretningsprocesser routing, konfiguration er ikke dårligt, automatisk bygge stilladset (stillads) er meget stærk, velegnet til mellemstore applikationer, de grundlæggende realiseringen af MVC over hvert lag, med automatisk funktion kommando-linescripting;

2. Sammenligning af hele dokumentet, for at fremme mere succes i det land, de fleste af dem vide, at CakePHP, læring omkostninger moderat

Ulemper:

1. CakePHP meget alvorligt problem skal forstås som database lag Model drift alvorligt har påvirket evnen til at operere uden for databasen i tillæg til

2 CakePHP cache-funktion lidt svag, og konfiguration funktioner lidt svag. CakePHP er ikke egnet til store programmer, kun ansøgninger for mellemstore og små applikationer, omkostningerne ved lidt højdepunkt for læring

Bedømmelse:

Samlet set PHP rammer CakePHP rammer udgør en vigtig og repræsentant for en æra, og er i øjeblikket spiller en vigtig rolle, mange er nødt til at skrive deres egen kopi af CakePHP rammerne af vejen, er en milepæl produkt CakePHP afslører RoR'sagile udviklingsmetoder, og databasen operation, der er den eneste model design ideer, som hurtig applikationsudvikling og prototypefremstilling er et perfekt redskab, også bruges til at lave Web2.0 site udvikling rammer, er også værd valg.

Zend Framework

Fordele:

. 1 Den officielle produceret, kommer med en masse bibliotek, ramme i sig selv bruger en masse mønstre til at skrive, meget elegant struktur, effektiviteten af medium MVC design, den relativt simple, med routing, mere kraftfulde konfigurationsfilen (til at håndtereXML og php INI), en række af bibliotekets er meget kraftfuld, alle funktioner PHP ramme, den mest omfattende, herunder ikke blot en ramme, det er en stor klasse bibliotek (i stedet for pære), som er dens vigtigste funktion, til atUd over direkte støtte til databasen operationer uden for modellen lag (stærkere end CodeIgniter og CakePHP), og kan nemt indlæses ved hjælp af kranens funktioner i andre nyligt tilføjede klasse; Cache funktion er meget kraftfuld, fra front til back-end Cache Cache støtte,Cache back-end support af memcache, APC, SQLite, filer og flere måder; databasehandlinger funktion er meget kraftfuld, understøtter en bred vifte af drivere (adaptere)

2. Dokumentation er meget fuld, meget moden samfund i landet, og mange Web 2,0 steder nu i brug, udgifter til sekundære læring

Ulemper:

1. MVC feature komplet svag, View lag simpel implementering (som ikke opnåede det samme), ikke meget stærk kontrol af forsiden

2. Der er ingen automatisk scripts til at oprette en ansøgning, herunder import-filen, har alle deres egen håndbyggede, høje omkostninger til indrejse

3. Zend Framework-program rammer som et medium ikke et stort problem, og kan knap som en ramme for store applikationer, men som en meget moden til store PHP ramme, men tager også en vis indsats

Bedømmelse:

Fremstillet som den officielle ramme, Zend Framework's ambition er forudsigelig, forsøger at fortrænge andre rammer, men mange kraftfulde bibliotek pakke, der danner rammen om en one-stop-service, og deres udvikling team er meget stærk, der er fuld nokevne til at udvikle produkter, der kommer ud meget stærkt, er det vigtigt at fastslå Zend Framework lovende, hvis det tager mere tid til at færdigudvikle ramme.Tilsvarende Zend Framework er forholdsvis elegant arkitektur i sig selv, at der er mange master Zend officielle, designet er relativt avanceret, men ikke perfekt nok til at nå nogle funktioner, såsom View lag, automatiserede scripts etc., som er afhængige af fremtidigeopgradering.Samlet set de mest ventede Zend Framework er en ramme, naturligvis, du nu nødt til at sætte dit projekt er afsluttet med noget problem.

Symfony

Fordele

. 1 Symfony PHP ramme, som jeg kender mest magtfulde, og jeg brugte lang tid, men mange funktioner endnu ikke udgravet; dens fuldstændige gennemførelse af MVC lag, indkapsler alt, herunder $ _POST, $ _GET data, exception handling, debugging, data påvisning indeholder kraftige cache-funktion, automatisk indlæse klasse (Denne funktion er så cool), den magtfulde stat i18n støtte, har en meget stærk opfattelse lag operation kan være fragmenterede flere filer, der indeholder en enkelt; meget kraftig konfiguration kapaciteter, at brugen yml konfiguration styre adfærden for alle rammer og kører, stærk nok til at få folk målløs, det er alle deres egen vilkårlige definition af klassen, og Symfoni indlæser automatisk (auto belastning) klassen,frit i programmet kan kalde; omfatter en stærk multi-level-projekter og application management: Project - Application - Modul - Action, under et projekt for at opfylde behovene hos flere ansøgninger, og hvert lag kan defineresderes egne biblioteker, konfigurationsfiler, layout, meget kraftfulde kommandolinje funktioner, herunder etablering af projekter, bygge applikationer, oprette moduler, flush cache og så videre;

2. Symfony er absolut den første valg for at udvikle store komplekse projekter, fordi brugen af Symfony, i høj grad vil spare udviklingsomkostninger, og samarbejde over tid, ikke noget problem, der er defineret i projektet baseret på klasse efter klasse, kan hvert modul kan genbruges,genbruge meget kode

Ulemper:

1. Databasen sværvægter driftsmodel hjælp fremdrive og kreolsk, men i den version, jeg har testet har været flyttet til addon i dem, måske eller måske ikke

. 2 Caching kan ikke kontrollere hver gang cachen er altid udvikling og debugging, nødt til at udføre Symfoni cc, Symfoni rc at rydde og genopbygge cachen;

. 3 Effektivitet er ikke højt, især i parsing opsætningsfilen skabeloner og processen med at læse, bruge tid på en masse;

4. Læring er høje, og der er ikke nogen modne samfund og dokumentation, ikke engang den kinesiske håndbog, der svarer til mestre alle de funktioner, du skal bruge mere tid

Bedømmelse:

Symfony er afgjort enterprise-level ramme med Java det eneste område, der synes at modvirke den magtfulde rammerne af ting, kraftfulde ting, naturlige læring kompleks, men også den tilsvarende udvikling af projektet mere hensigtsmæssigt, er det naturlige komplekse projekter anbefales det at bruge Symfonyat beskæftige sig med, synes, det er værd, idet sidstnævnte er relativt lave vedligeholdelsesomkostninger, er genanvendelighed meget stærk.Hvis du bruger den tilsvarende Symfoni bør alle være mere komplekse internet-projekter, er det nødvendigt at overveje de tilsvarende problemet med distribution på databasen, skal du opgive Symfoni kommer med databasen operationelle niveau, har brug for sin egen definition, naturligvis, Symfoni støtter en vilkårligstrukturelle model lag.

Resumé

Over flere rammer har deres egne kendetegn, og er open source-projekter, men ikke det samme som ramme for projektet, generelt mere velegnet til mindre projekter CodeIngiter, CakePHP og Zend Framework er velegnet til mellemstore projekter, Symfoni sværvægter mere velegnet til store projekter,Når udvælgelse af projekter, bør vi fuldt ud anser for rammerne kan tilpasses, skalerbarhed, fordi hvert projekt ikke kan være sikker på, hvis du vil blive ændret, efterhånden som behovet ændrer sig.

Relativt set, Zend Framework og Symfoni relativt stærk evne til at klare forandringer, i særdeleshed, kan frit tilpasse modellen lag af klasse, kan være meget praktisk at øge deres forretning eller databehandling klasser, jeg personligt anbefaler brug af store projekter inden for rammerne.

CodeIngiter og CakePHP samme i små og mellemstore projekter kan spille en væsentlig rolle i udviklingen og rapid prototyping, målet er ikke velegnet til prototype udvikling af projektet klar.

Selvfølgelig, måske for at skrive en ramme mere passende.

Generelle rammer for vurderingen af flere anslås, at mange ting ikke er det punkt, vi forsøgsvis se efter samme synspunkter og forslag er velkomne rettelser!