Witam,
ZROBIŁEM TESTY SF2 VS ZF2
Testy oprarte o 1mln rerkodów w bazie.
Podsumowanie:
Symfony 2 + lepsza organizacja plików
+ bundle (ala moduły tylko coś lepszego)
+ fajny generator, i miła bezproblemowa zamiana automatu, PRZEJRZYŚCIE i mało kodu.
+ szybciej się pracuje przy budowie , automat formularz, automat , baza, automat validacja js
+ info/logi
+ app_dev.php
+ bardzo szybko działa gdy ma obrobić ogromną liczbę danych (np obróbka 7 tyś rekordów zaciagnietych z bazy) czas => 2,7s , ZF2 =>6s
+ przejrzysty routing

!!
+ twing albo php
+ fajne narzędzia dev
- wolniejszy od ZF2 co najmnije 2,5x jeśli operujemy małymi danymi. Znaczy jeśli obrabiamy małe dane. W stylu zaciąganiem max 500 elementów z bazy i i obróbka ich.
Próba 1mln rekordów => order by desc limit 500 rekordów i wyświetlenie:
ZF2 => 2,6s
SF2 => 4,8s
Natomiast to samo z wyświetleniem 7 tyś rekordów:
ZF2 => 6s
SF2 => 2.7
Więc Symfonia 2 jeśli zaciągamy małą liczbę danych do przetworzenia to przegrywa z ZF2 sporo.
Na zwykłych stronach jest to : 200ms vs 800ms . Natomiast jeśli trzeba zaciągać jakieś duże dane i je obrobić to na prawdę śmiga jak odrzutowiec w porównaniu do ZENDA.
Zend Framework2+ szybkość działania przy przetworzeniu małych danych => a takie będę przetwarzał
09:25:40
+ w miarę przejrzyste formularze
Minusy:
- masakra kod, dużo i nie przejrzysty
- straszny routing
- brak generatora hmm to w sumie + i -
- trzeba się opisać jak .... żeby coś mieć
Robiłem jeszcze inne testy, zaciąganie i wyświetlanie... obróbka przy użyciu kilku foreach itd...
Podsumowanie: Jeśli tworzymy stronę internetową z zarządzaniem (CMS), CRM, bądź wewnętrzne systemy ERP przeszukujące miliony rekordów w bazie nie posiadające skomplikowanych mechanizmów przetwarzających te dane, na poziomie PHP to ZF2 jest czymś co będzie dużo szybsze. (2-3 x szybciej).
Natomiast jeśli chcemy przetwarzać ogromną liczbę danych bądź wyświetlać ogromną liczbę danych to Symfonia 2 jest w tym przypadku o niebo szybsza. Widzę to w WEB SERVICE.
Kwestie bezpieczeństwa nie sprawdzałem, gdyż walidatory w SF2 z dokumentacji nie działają=> nie tylko ja o tym tutaj piszę.
Co ja wybieram? Mi zależy na szybkości działania, nie koniecznie na szybkości zbudowania serwisu.
Ja wybieram ZF2 bo czasy na poziomie 100-200ms z listowaniem do 1tyś elementów bez cache to dla mnie coś świetnego. Chodź nigdy 1 tyś nigdzie nie wyswietlałęm, szczególnie paginacja po 20 -100 elementów max. Więc można by to jeszcze bardziej przyśpieszyć używając php 5.4 + cache + APC.