Symfony2 showcase

3,979 views

Published on

Opis Symfony2

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,979
On SlideShare
0
From Embeds
0
Number of Embeds
2,275
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Symfony2 showcase

  1. 1. <ul>Symfony2 Showcase </ul>Wojciech Sznapka Gliwice, 28.01.2011
  2. 2. Symfony 2 – w skrócie <ul><li>Przepisane od zera – nowa architektura, nowe podejście,
  3. 3. Brak kompatybilności wstecz,
  4. 4. Wymagane PHP 5.3,
  5. 5. Aktualnie dostępna wersja to Preview Release 5, wersja finalna planowana jest na początek marca 2011 (Symfony Live w Paryżu?). </li></ul>
  6. 6. Nowości <ul><li>Struktura aplikacji – funkcjonalności pakowane w Bundle, odpowiedników pluginów z symfony 1.x,
  7. 7. Dependency Injection Container,
  8. 8. System szblonów Twig,
  9. 9. Doctrine 2.0 (wraz z Doctrine MongoDB ODM),
  10. 10. Wbudowana warstwa Security,
  11. 11. Formularze + Walidacja,
  12. 12. PHPUnit. </li></ul>
  13. 13. Bundle <ul><li>Aplikacja składa się z jednego lub kilku Bundle's
  14. 14. Framework oprócz Kernela dostarcza również Bundle
  15. 15. Na Bundle składają się: </li><ul><li>Kontrolery,
  16. 16. Zasoby (widoki, pliki konfiguracyjne, treść statyczna (css/js/grafiki),
  17. 17. Encje, formularze,
  18. 18. Commands (skrypty uruchamiane z CLI),
  19. 19. Klasy użytkowe,
  20. 20. Testy. </li></ul></ul>
  21. 21. Dependency Injection <ul><li>Wszystkie obiekty frameworka są dostępne przez kontener Dependency Injection, przez co można bez problemu je konfigurować, a nawet podmieniać,
  22. 22. Możemy dodawać własne obiekty do kontenera DI, co jest bardzo dobrą praktyką,
  23. 23. Większość klas składających się na framework implementuje różne interfejsy, co czyni całość jeszcze bardziej elastyczną. </li></ul>
  24. 24. Twig <ul><li>Bardzo szybki system szablonów o prostej i intuicyjnej składni,
  25. 25. Przyjazny dla webdesignerów, nieobytych ze składnia PHP,
  26. 26. Chroni nas przed upychaniem logiki w widokach,
  27. 27. Daje większe możliwości niż standardowe szablony,
  28. 28. „ Stary” system szablonów PHP jest alternatywnie dostępny. </li></ul>
  29. 29. Doctrine 2 i Doctrine MongoDB ODM <ul><li>Doctrine zostało przepisane od nowa,
  30. 30. Encje są „persistent” - nie dziedziczą z klasy bazowej, dzięki czemu są „lekkie”, a całość jest zauważalnie szybsza,
  31. 31. Doctrine i Doctrine ODM wspiera mapowanie annotacjami,
  32. 32. Z Doctrine została wydzielona warstwa abstrakcji bazy DBAL,
  33. 33. Nigdy więcej referencji cyklicznych :-) </li></ul>
  34. 34. Formularze i walidacja <ul><li>Formularze przepisane od zera – wspierają napełnianie dowolnych obiektów,
  35. 35. Proste i intuicyjne API,
  36. 36. Walidacja oparta o konfigurację w pliku YML/XML lub annotacjach obiektu,
  37. 37. Dla każdego pola obiektu, można dodać różne ograniczenia („constraints”),
  38. 38. Walidacja działa bez problemu poza formularzami. </li></ul>
  39. 39. PHPUnit <ul><li>Lime zostało zastąpione PHPUnitem,
  40. 40. Każdy Bundle powinien mieć swój zestaw testów,
  41. 41. Dostępne są narzędzia do testów funkcjonalnych (symulowanie zapytań HTTP), integrujące się z PHPUnitem. </li></ul>
  42. 42. PHPUnit <ul><li>Lime zostało zastąpione PHPUnitem,
  43. 43. Każdy Bundle powinien mieć swój zestaw testów,
  44. 44. Dostępne są narzędzia do testów funkcjonalnych (symulowanie zapytań HTTP), integrujące się z PHPUnitem. </li></ul>
  45. 45. Podsumowanie <ul><li>Symfony2 jest 3 razy szybsze niż Symfony 1.4 czy Zend Framework,
  46. 46. Zużywa połowę mniej pamięci,
  47. 47. Jest bardzo proste w nauce,
  48. 48. Pozwala na tworzenie przenośnego kodu, opakowanego w Bundle,
  49. 49. Jest elastyczne dzięki kontenerowi DI i Event Dispatcher'owi,
  50. 50. Jest wzorowane na sprawdzonych wzorcach, takich jak Symfony 1, Spring, Django, Ruby On Rails. </li></ul>
  51. 51. Dziękuję za uwagę :-) <ul>Pytania ? [email_address] </ul>

×