DooPHP – iespējams pasaulē ātrākais MVC PHP ietvars
Pēdējo gadu laikā, veidojot PHP web aplikācijas, par modes kliedzienu ir kļuvis izmantot kādu no daudzajiem ietvariem. Neskatoties uz to lieliskajām iespējām, bieži vien nepieciešamība pēc tiem tiek pārvērtēta. Vienkāršu aplikāciju izveidei tiek izvēlēts kāds ļoti universāls, bet salīdzinoši lēns ietvars. Šādu stratēģiju nereti varētu pielīdzināt šaušanai ar lielgabalu pa zvirbuļiem. Pēdējā laikā ir parādījušies vairāki Model View Controller PHP ietvari, kuru prioritāte ir nevis universālums, bet gan veiktspēja. Viens no tādiem jaunajiem censoņiem ir arī DooPHP ietvars.
DooPHP ātrdabība
Vairums ietvaros ir mēģināts realizēt visu iespējamo, tie ir pārpilni ar visdažādākajiem spraudņiem un komponentēm, tiek pat mēģināts automātiski ģenerēt publiski pieejamo aplikācijas daļu (frontend). DooPHP nav centies iet šo ceļu – DooPHP ietvarā netiek nekas lieks ielādēts, tikai nepieciešamās lietas, lai tiktu uzģenerēta lapa. Attēlā var aplūkot šī ietvara izstrādātāju ātrdarbības testus salīdzinājumā ar citiem PHP ietvariem.
Pie testiem interesanti ir arī apskatīties stresa testēšanas veiktspēju katram no ietvaram, kas tika salīdzināti. Testā tika padoti vienlaicīgi ik pēc laika 1000 pieprasījumi (kopā 10000 pieprasījumi) un salīdzināts apstrādāto pieprasījumu skaits 30 sekundēs. Stresa testēšanas rezultāti:
- DooPHP – kopā apstrādāti 6757 pieprasījumi
- CakePHP – kopā apstrādāti 685 pieprasījumi
- Yii – kopā apstrādāti 2315 pieprasījumi
- CodeIgniter – kopā apstrādāti 2107 pieprasījumi
- QeePHP – kopā apstrādāts 1780 pieprasījums
Vairāk par DooPHP ātrdarbības testiem – http://doophp.com/benchmark
DooPHP funkcionalitāte
Kaut gan DooPHP prioritāte ir ātrdarbība, nav atstātas novārtā arī cita būtiska ietvara funkcionalitāte:
- Model View Controller arhitektūra
- URI maršrutēšana (routing)
- I18n
- Centrālā konfigurācija
- Datubāzes ORM rīki
- HTTP autentifikācija
- Autorizācija
- Kešošana (caching)
- RESTful API
- Templating sistēma
- Koda ģenerēšanas iespēja
- Atbalsts Ajax projektiem
Lai sāktu apgūt DooPHP ietvaru, var sākt ar šo ievadu, kā arī noteikti noderēs izstrādātāju veidotais blogs, kurā viegli uztveramā veidā tiek pastāstīts, kā veidot aplikācijas ar DooPHP. Tajā ir atrodamas pamacības ne tikai jau oficiāli iznākušajām versijām, bet arī jaunākajai izstrādes versijai, kuru var lejupielādēt ar kādu no SVN rīkiem, piemēram, es izmantoju Tortoise SVN. Oficiāli iznākušajām versijām ir pieejams arī API.
Šeit var apskatīt mazu piemēru, kāda veidā DooPHP notiek lapas kartes (sitemap) un controller klašu ģenerēšana:
Secinājumi
DooPHP ietvars pagaidām ir tikai dažus mēnešus jauns (pirmā oficiālā versija 1.0 tika izlaista 2009. gada jūlijā), tomēr tā izvēlētais ceļš ir pietiekami daudzsološs un atšķirīgs no universālo PHP ietvaru (Zend Framework, Symfony u.c.) principiem. Lai rastos skaidrāks priekštats par ietvara lietošanas ērtumu, kādu no nākamajiem web projektiem centīšos realizēt izmantojot tieši DooPHP ietvaru.



