Nylig brukte en enkel sammenligning av gjeldende i landet med mer enn noen få store utenlandske PHP rammeverk (ikke inkludert boliger rammeverk), er det en generell ramme for disse intuitive følelser, enkel aksje, for valg av rammen av hva de skal gjøre nårrett når en referanse.
De viktigste referanseramme inkluderer: CodeIgniter, CakePHP, ZendFramework, symfony.Jeg har ikke seriøst bruker mye av rammene, bare prøve en litt umoden, eller kan være mye meninger er feil, må du korrigere meg, til å vokse sammen.
CodeIgniter
Fordeler:
. 1 Konfigurasjon enkelt, alle konfigurert til å bruke PHP script til å konfigurere, kjøre med høy effektivitet, med grunnleggende rutingmuligheter å rute en viss grad, en foreløpig Layout funksjon, i stand til å produsere en viss grad av utseende og preg, database lag med en god pakkemed de grunnleggende funksjon av MVC
. 2 Quick enkel liten kode å gjennomføre med høy ytelse, er rammen enkel, lett å bruke, studere, lavpris, dokumentere i detalj, kommer med mange enkle å bruke biblioteket, rammene for små applikasjoner
Ulemper:
En. Modell laget tolket som en enkel database operasjoner
2. Framework noe enkle, små programmer kan bare være fornøyd, litt mindre i stand til å møte behovene til mellomstore applikasjoner
Vurdering:
Totalt sett tar å fullføre en rask og enkel CodeIgniter programmet er fortsatt verdt å konstruere en viss grad av layout, er enkel mal gjenbruk, datamanipulasjon laget en god pakke, og CodeIgniter bruker ikke mange design mønstre er for komplisert å gjennomføreytelse og kode lesbarhet er gode.Som for ytterligere biblioteket er også gode, enkle og effektive.
CakePHP
Fordeler:
. 1 CakePHP er den mest ligner på RoR rammeverket, inkludert design-modus, betyr Active Record database drift, design nivået er svært elegant, ikke eier ekstra bibliotek, alle funksjoner som er rene ramme, er effektiviteten ikke dårlig; database lagetDen hasOne, er hasMany funksjonen veldig kraftig, mer passende for komplekse forretningsprosesser, ruting, er konfigurasjonen ikke dårlig; automatisk bygge stillaset (stillaset) er meget sterk, egnet for mellomstore applikasjoner, den grunnleggende realiseringen av MVC over hvert lag, med automatisk drift kommando-linjescripting;
2. Sammenlikning av hele dokumentet, til å fremme mer vellykket i landet, de fleste av dem vet at CakePHP, læring kostnader moderate
Ulemper:
En. CakePHP svært alvorlig problem er å forstå som databasen laget Model operasjonen har alvorlig påvirket evnen til å operere utenfor databasen i tillegg til
2 CakePHP hurtigbuffer-funksjonen litt svak, og konfigurering av telefonen noe svak;. CakePHP er ikke egnet for storskala applikasjoner, kun applikasjoner for mellomstore og små programmer, på bekostning av noe høydepunkt for læring
Vurdering:
Samlet representerer PHP rammeverket CakePHP rammer en viktig og representant for en epoke, og er for tiden spiller en viktig rolle, mange har til å skrive sin egen kopi av CakePHP rammen av veien, er en milepæl produkt, CakePHP avslører RoR sineAgile metoder og databasen operasjonen som er den eneste Model design ideer, som rask applikasjonsutvikling og prototyping er et perfekt verktøy, også brukt til å lage web2.0 nettstedet utviklingsmiljø, er også verdig valg.
Zend Framework
Fordeler:
. 1 Den offisielle produsert, kommer med mange bibliotek, bruker rammeverket i seg selv en masse design mønstre for å skrive, svært elegant struktur, effektivisering av medium; MVC design, den relativt enkle, med ruting evner, kraftigere konfigurasjonsfilen (for å håndtereXML og php INI), er en rekke bibliotek meget kraftige, alle funksjoner PHP rammeverk, den mest omfattende, som ikke bare inkluderer et rammeverk, er det en stor klasse bibliotek (i stedet for PEAR), som er dens viktigste funksjon; åI tillegg til direkte støtte for database operasjoner utenfor Model laget (sterkere enn CodeIgniter og CakePHP), og kan lett lastes med Loader funksjoner andre nylig lagt klassen; Cache-funksjonen er veldig kraftig, fra forsiden til baksiden-end Cache Cache-støtte,Cache back-end support av Memcache, APC, SQLite, filer og flere måter; databaseoperasjoner funksjonen er veldig kraftig, støtter en rekke drivere (adaptere)
2. Dokumentasjon er veldig full, veldig modne samfunnet i landet, og mange Web 2.0-nettstedene nå i bruk, kostnaden av sekundær læring
Ulemper:
En. MVC funksjonen komplett svake, View laget enkle implementering (som oppnådde ikke det samme), ikke veldig sterk kontroll av forsiden
2. Det er ingen automatiske skript for å lage et program, inklusive import-filen, alle har sine egne hand-bygget, høye kostnader oppføring
Tre. Zend Framework applikasjonsrammeverk som medium ikke noe stort problem, og kan knapt som et rammeverk for storskala applikasjoner, men som en veldig moden for storskala PHP rammeverk, men også tar litt innsats
Vurdering:
Produsert som den offisielle rammen, er Zend Framework ambisjon forutsigbar, prøver å presse ut andre rammer, men mange kraftige biblioteket pakke som gir rammene for en one-stop service, og deres utvikling team er veldig sterk, det er komplett nokevne til å utvikle produkter som kommer ut veldig sterke, er det viktig å bestemme Zend Framework lovende, dersom det tar mer tid å perfeksjonere ramme.Tilsvarende er Zend Framework relativt elegant arkitektur i seg selv, at det er mange master Zend offisielle, er utforming relativt avansert, men ikke perfekt nok til å oppnå noen funksjoner, for eksempel View laget, automatisert skript, etc., som er avhengig av fremtidigeoppgradering.Totalt sett er mest etterlengtede Zend Framework et rammeverk, selvfølgelig, du har nå til å sette prosjektet er komplett uten problem.
Symfony
Fordeler
. 1 symfony PHP rammeverk som jeg vet den kraftigste, og jeg brukte lang tid, men mange funksjoner ennå ikke utgravd, dens fullstendig implementering av MVC laget, omslutter alt, inkludert $ _POST, $ _GET data, feilhåndtering, debugging, data oppdagelse; inneholder kraftige cache-funksjon, automatisk laste klasse (Denne funksjonen er så kult), den mektige staten i18n støtte, har en meget sterk visning lag operasjon kan være fragmenterte flere filer som inneholder en enkelt; svært kraftig konfigurasjon evner, til bruk yml konfigurasjonen kontrollerer atferden til alle rammer og kjøre, sterk nok til å gjøre folk målløs, det er all deres egen vilkårlig definisjon av klasse, og symfony vil automatisk belastning (auto last) klassen,fritt i programmet kan ringe, omfatter et sterkt multi-level prosjekter og applikasjonsforvaltning: Prosjekt - Application - Module - Action, under et prosjekt for å møte behovene til flere programmer, og hvert lag kan defineressine egne biblioteker, konfigurasjonsfiler, layout, svært kraftig kommandolinje funksjoner, herunder etablering av prosjekter, lage programmer, lage moduler, tømme cache og så videre;
2. Symfony er definitivt førstevalget for utvikling av store komplekse prosjekter, fordi bruken av symfony, vil i stor grad spare utviklingskostnader, og samarbeid over tid, ikke noe problem, definert i Project basert på klasse etter klasse, kan hvilken som helst modul gjenbrukes,gjenbruk mye kode
Ulemper:
En. Databasen tungvekter driftsmodellen med fremdrift og kreolsk, men i den versjonen jeg testet er flyttet til addon i dem, kanskje eller kanskje ikke
. 2 Caching ikke kan kontrollere hver gang cachen er alltid utvikling og feilretting, må utføre symfony ccm, symfony rc til å rydde og gjenoppbygge cache;
. 3 Effektivitet er ikke høy, spesielt i parsing konfigurasjonsfilen maler og prosessen med å lese, bruke tid mye;
4. Læring kostnaden er høy og det er ikke noen modne samfunnet og dokumentasjon, ikke engang den kinesiske manuelle, tilsvarende mestre alle funksjonene, må du bruke mer tid
Vurdering:
Symfony er definitivt enterprise-nivå ramme, det eneste området som synes å kraftig Java rammeverk med noe å konkurrere, kraftige ting, naturlig læring komplekse, men også tilsvarende utvikling av prosjektet mer nyttig, er den naturlige komplekse prosjektene anbefales å bruke symfonyå håndtere, tror det er verdt, er sistnevnte relativt lave vedlikeholdskostnader, er gjenbruksverdien veldig sterk.Hvis du bruker tilsvarende symfony bør alle være mer komplekse Internett prosjekter, er det nødvendig å vurdere tilsvarende problem med fordelingen på databasen, må du forlate symfony kommer med databasen operasjonen nivå, trenger sin egen definisjon, selvsagt, støtter symfony en vilkårligstrukturelle modellen lag.
Sammendrag
Over flere rammeverk har sine egne egenskaper, og er åpen kildekode-prosjekter, men ikke det samme som rammene for prosjektet, generelt, mer egnet for små prosjekter CodeIngiter, CakePHP og Zend Framework er egnet for mellomstore prosjekter, symfony tykt mer egnet for store prosjekter,når prosjektet utvalget, bør vi fullt vurdere rammene kan tilpasses, skalerbarhet, fordi hver prosjektet ikke kan være sikker på om du vil bli endret når behovene endres.
Relativt sett, Zend Framework og symfony relativt sterk evne til å takle endringer, spesielt, kan fritt tilpasse modellen laget av klasse, kan være svært praktisk å øke sin virksomhet eller databehandling klasser, jeg personlig anbefale bruk av store prosjekter i rammeverket.
CodeIngiter og CakePHP samme i små og mellomstore prosjekter kan spille en betydelig rolle i utviklingen og rapid prototyping, er målet ikke veldig egnet for prototypen utviklingen av prosjektet klart.
Selvfølgelig, kanskje, å skrive et rammeverk mer passende.
Generelt rammeverk for evaluering av flere anslått at mange ting er ikke poenget, vi forsøksvis se etter de samme synspunkter og forslag er velkomne korreksjoner!