Nyligen använda en enkel jämförelse mellan de nuvarande i landet med mer än ett fåtal stora utländska PHP ram (exklusive inhemska ram) finns det en allmän ram för dessa intuitiva känslor, enkla aktie, för val av ramen för vad man gör närJust när en referens.
De viktigaste referensram är: CodeIgniter, CakePHP, ZendFramework, Symfony.Jag tror inte på allvar använder mycket av den ram, helt enkelt prova lite omogen, eller kan en hel del åsikter är fel, rätta mig, att växa tillsammans.
CodeIgniter
Fördelar:
1. Konfiguration enkel, alla konfigurerade för att använda PHP-skript för att konfigurera, köra med hög effektivitet, med grundläggande kapacitet att påvisa att rutten i viss mån, en preliminär layout funktion, kan producera en viss grad av utseende och känsla, databas skikt av ett bra paketmed den grundläggande funktionen av MVC
2. Quick liten enkel kod för att implementera högpresterande, är ramen enkel, lätt att använda, studera, låg kostnad, i detalj dokumentera, kommer med en massa lätt att använda biblioteket, inom ramen för små tillämpningar
Nackdelar:
1. Modell lagret tolkas som en enkel databas operationer
2. Framework något enkla, små program kan endast uppfyllas, lite mindre möjligheter att tillgodose behoven hos medelstora applikationer
Omdöme:
Totalt sett tar att genomföra en snabb och enkel CodeIgniter ansökan är ändå värt mödan att konstruera en viss layout är enkel mall återanvändning, manipulering av data lager ett bra paket, och CodeIgniter inte använda många designmönster är alltför svåra att genomföraprestanda och kod läsbarhet är bra.Vad gäller de kompletterande biblioteket är också bra, enkel och effektiv.
CakePHP
Fördelar:
1. CakePHP är den mest liknar den RoR ramverket, inklusive design-läget innebär Active Record databas drift, design nivå är mycket elegant, inte äger extra bibliotek, alla funktioner är rena ram, är verkningsgraden inte dåligt; databas lagerDen hasOne är hasMany funktion mycket kraftfull, mer lämplig för komplexa affärsprocesser, routing, konfigurationen är inte dåligt, automatiskt bygga byggnadsställning (ställningen) är mycket stark, lämplig för medelstora applikationer, grundläggande förverkligandet av MVC över varje lager, med den automatiska driften kommandoradenscripting;
2. Jämförelse av hela dokumentet, för att främja mer framgångsrika i landet, de flesta av dem vet att CakePHP, lärande kostnader måttlig
Nackdelar:
1. CakePHP mycket allvarligt problem är att förstås som databasen nivåmodell operation avsevärt har påverkat förmågan att verka utanför av databasen förutom
2 CakePHP cache funktion något svag, och funktioner konfiguration något svag. CakePHP är inte lämplig för storskaliga tillämpningar, endast ansökningar för små och medelstora applikationer, kostnaden för något högt för lärande
Omdöme:
Sammantaget representerar PHP ramen CakePHP ram ett viktigt och representant för en epok, och är för närvarande spelar en viktig roll, många har för att skriva egna exemplar av CakePHP ramen för vägen, är en milstolpe produkt, CakePHP avslöjar RoR'sagila utvecklingsmetoder och databasen verksamhet som är den enda modellen design idéer, så snabb utveckling av applikationer och prototyper är ett perfekt verktyg, också för att göra Web2.0 ram webbplats utveckling, är också värt att välja.
Zend Framework
Fördelar:
. 1 De officiella produceras, kommer med en hel del bibliotek använder själva ramverket mycket designmönster att skriva, mycket elegant struktur, effektivitet medium, MVC design, relativt enkla, med kapacitet att påvisa, mer kraftfulla konfigurationsfil (för att hanteraXML och php INI), är en mängd bibliotek mycket kraftfulla, alla funktioner PHP ram, den mest omfattande, inte bara en ram, det är en stor klass bibliotek (i stället för PEAR), som är dess viktigaste funktion, attFörutom det direkta stödet till databasåtgärder utanför modellen lager (starkare än CodeIgniter och CakePHP), och kan lätt laddas med hjälp av Loader funktionerna för andra nytillkomna klass, Cache-funktionen är mycket kraftfull, från framsidan till back-end Cache Cache-stöd,Cache back-end support av memcache, APC, SQLite, filer och fler sätt, databasåtgärder funktion är mycket kraftfull, stöder en mängd olika drivrutiner (adaptrar)
2. Dokumentation är mycket full, väldigt mogen gemenskap i landet, och många Web 2.0 webbplatser som nu används, kostnaden för sekundära lärande
Nackdelar:
1. MVC funktion komplett svag, Visa lager enkla genomförande (som inte nådde samma), inte särskilt stark kontroll av framsidan
2. Det finns ingen automatiserad skript för att skapa en applikation, inklusive importfilen, alla har sina egna handbyggda, höga kostnader för inträde
3. Zend Framework-program ram som medium inte ett stort problem, och kan knappt som en ram för storskaliga tillämpningar, men som en mycket mogen för storskalig PHP, men även tar en viss ansträngning
Omdöme:
Erhållen som officiell ram, är Zend Framework ambition förutsägbart, att försöka pressa ut andra ramar, men många kraftfulla bibliotek paket som utgör ramen för en samlad service, och deras utvecklingsteam är mycket starkt, det finns tillräckligt komplettförmåga att utveckla produkter som kommer ut mycket stark, är det viktigt att bestämma Zend Framework lovande, om det tar längre tid att perfekt ram.Likaså är Zend Framework relativt elegant arkitektur själv, att det finns många mästare Zend tjänsteman, är designen ganska avancerad, men inte perfekt nog för att uppnå vissa funktioner, till exempel Visa lagret, automatiserade skript, etc., som är beroende av framtidauppgradering.Totalt sett är mest efterlängtade Zend Framework en ram, naturligtvis, du nu har att sätta ditt projekt är klart utan problem.
Symfony
Fördelar
1. Symfony PHP ramverk som jag känner det mest kraftfulla, och jag använde en lång tid, men många funktioner ännu inte grävts upp, dess fullständiga genomförande av MVC lagret, sammanfattar allt, inklusive $ _POST, $ _GET data, undantagshantering, felsökning, data spårning, innehåller kraftfulla cache-funktion, automatisk lastklass (Denna funktion är så cool), den mäktiga staten i18n stöd, har en mycket stark uppfattning lager operation kan vara splittrat flera filer med en enda, mycket kraftfull konfiguration förmåga att använda yml konfigurationen styr hur alla ramar och kör, stark nog att göra folk mållös, det är allt deras egna godtyckliga definition av klass, och Symfony laddas automatiskt (auto last) klassen,fritt i programmet kan ringa, omfattar ett starkt multi-level projekt och application management: Projekt - Program - Module - Action, under ett projekt för att tillgodose behoven hos flera program, och varje lager kan definierassina egna bibliotek, konfigurationsfiler, layout, mycket kraftfulla kommandoraden funktioner, inklusive upprättande av projekt, bygga applikationer, skapa moduler, tömma cacheminnet och så vidare;
2. Symfony är definitivt det första valet för utveckling av storskaliga komplexa projekt, eftersom användningen av Symfony, kommer att avsevärt spara utvecklingskostnader och samverkan över tiden, inga problem, som definieras i projekt som bygger på klass efter klass, kan alla moduler återanvändas,återanvända mycket kod
Nackdelar:
1. Databasen tungvikt verksamhetsmodellen hjälp driva och kreol, men i den version jag testade har flyttats till den addon i dem, kanske eller kanske inte
2. Cachning inte kan kontrollera varje gång cachen är alltid utveckling och felsökning, måste utföra Symfony cc, Symfony rc att rensa och återuppbygga cache;
3. Effektivitet är inte hög, speciellt i tolkning av konfigurationsfilen mallar och processen med att läsa, umgås mycket;
4. Lärande kostnaden är hög och det finns inga mogna samhället och dokumentation, inte ens den kinesiska handboken, motsvarande behärska alla funktioner måste du spendera mer tid
Omdöme:
Symfony är definitivt enterprise-nivå ram, det enda område som verkar kraftfull Java ram med något att konkurrera, kraftfulla saker, naturlig inlärning komplex, men även motsvarande utveckling av projektet mer hjälpsam, är den naturliga komplexa projekt rekommenderas att använda Symfonyatt ta itu med, tycker det är värt, är den senare relativt låga underhållskostnader, är återanvändning mycket stark.Om du använder motsvarande Symfony alla borde vara mer komplicerad Internet projekt är det nödvändigt att överväga motsvarande problemet med distribution på den databas du behöver överge Symfony kommer med i databasen operationen nivå, behöver sin egen definition, naturligtvis stöder Symfony en godtyckligstrukturell modell lager.
Sammanfattning
Under flera ramar har sina egna egenskaper, och är open source-projekt, men inte samma som ram för projektet, i allmänhet bättre lämpade för små projekt CodeIngiter, CakePHP och Zend Framework är lämplig för medelstora projekt, Symfony tungviktare mer lämpad för storskaliga projekt,När projektet valet bör vi överväga fullt ramen kan anpassas, skalbarhet, eftersom varje projekt inte kan vara säker på om du kommer att ändras allt eftersom behoven förändras.
Relativt sett, Zend Framework och Symfony relativt stark förmåga att hantera förändringar, i synnerhet, kan fritt anpassa modellen lagret av klass, kan vara mycket praktiskt för att öka sin verksamhet eller dataklasser bearbetning, rekommenderar jag personligen att använda storskaliga projekt inom ramen.
CodeIngiter och CakePHP samma i små och medelstora projekt kan spela en viktig roll i utvecklingen och rapid prototyping, är målet inte mycket lämplig för prototypen utvecklingen av projektet klar.
Naturligtvis kanske att skriva en ram mer passande.
Allmän ram för utvärdering av flera uppskattar att många saker är inte poängen, vi preliminärt leta efter samma åsikter och förslag är välkomna korrigeringar!