Heavymind
Gdyby ludzie rozmawiali tylko o tym, co rozumieją, zapadłaby nad światem wielka cisza.

07/04/2008

Nadchodzi Symfony 1.1

Opublikowane jako: Symfony — Tags: , , , , , , — Kubek Bartosz @ 22:34

Kilka nieatrakcyjnych cech, jakie pozwoliłem sobie wytknąć framework’owi Symfony w poprzednim wpisie, pokazuje jego niedoskonałość. Cóż, trudno - ponoć nie istnieją rozwiązania doskonałe.

Jednak w przypadku tego framework’a, dużo ma się zmienić i to na lepsze. Zapoznając się z jednym z ostatnich wpisów na blogu Symfony, dowiadujemy się szczegółów nt. tego co ulec ma zmianie. Są nimi w większości:

  • całkowicie napisany od nowa Command Line Interface (CLI), wraz z solidnie rozpisanym helpem. Jest faktem że podczas procesu developerskiego, Symfony CLI jest wykorzystywany często. Jest więc to krok w dobrą stronę,
  • zbudowano nowy subframewok do budowy formularzy. Jest on całkowicie obiektowy. Konsekwencją tego zabiegu jest: wyeliminowanie View Helperów (bardzo dobrze, zalatywały PHP4 ), zastąpienie wątpliwego mechanizmu walidatorów budowanych w plikach YAML, walidatorami obiektowymi ( jako część wspomnianego subframeworka), oraz wszelka integracja warstwy widoku, oraz żądań (Request’ów) z tym systemem. Tutaj duże brawo,
  • integracja zabezpieczenia przeciw atakom Cross-site request forgery (CSRF), jako element subframeworku formularzy. W mojej opinii, mechanizmy przeciwdziałania CSRF, są bardzo ciekawym zjawiskiem jakie jest aktualnie w modzie. I dobrze, ponieważ obszar jaki pokrywają serwisy internetowe jest coraz większy. Zwiększanie bezpieczeństwa witryn poprzez propagowanie kolejnych standardów jest przez mnie jak najbardziej uznawane,
  • rozszerzono możliwości systemu cache’owania. Woila! Jedna z najgorzej przygotowanych rzeczy w wer. 1.0 została przystosowana do użyteczności. Będzie więc można:
    - łatwo usuwać cache’e innej aplikacji, niż aktualna,
    - podczas potrzeby uzyskania dostępu do grupy cache’ów w celu usunięcia ich, możemy skorzystać z znaków wieloznaczności ( wildcards ) ( zapowiada się dobra alternatywa dla tagów znanych z Zend Framework),
    - jako z miejsca składowania cache’y będziemy mogli wybrać Memcache ( przy aktualnych niskich cenach RAMu, trzymanie np aż 8GB cache’owanych danych w pamięci RAM serwera www nie jest żadnym problemem ),
    - generalnie cache w końcu będzie można zastosować nie tylko do warstwy widoku, lub całościowo MCV, ale do wszystkiego, np: warstwy modelu,
  • usprawniono pracę z konfiguracjami, tj: lepszy parser YAML, pomocne informacje o błędach w YAML, możliwość większego prze strukturyzowania warstwy konfiguracyjnej. Nie znajduję jednak tutaj żadnej rewolucji. Dotychczasowe rozwiązania były czytelne w mojej ocenie,
  • rozbudowano możliwości mapowania obiektowo-relacyjnego (ORM), wraz z aktualizacją przy tym PROPEL‘a do nowszej wersji. Co zwróciło mą uwagę, to poprawienie czytelności plików schematu YAML podczas “zrzucania” istniejącej DB do YAML, oraz dodana możliwość definiowana danych testowych w relacji wiele-do-wielu (w tzw. plikach “fixtures”, zawierających stałe dane testowe, które się exportuje do bazy danych )
  • usprawniono system routingu. Nie wiele tu do skomentowania. Dobrze, ot co!,
  • rozbudowano możliwości systemu wielojęzykowego ( i18n ). To chyba jedno z ważniejszych usprawnień! Dzięki podłączeniu silnika cache’owania, oraz dodaniu narzędzi CLI do zarządzania różnicami w treści szablonów widoku, a słownikami (XLIFF w tym przypadku), tworzenie projektu wielojęzykowego w Symfony będzie w końcu wygodne!

To większość zmian jaka idzie z nową wersją. Jak widać jest tego na tyle sporo, a w mojej ocenie zmiany mają na tyle znaczenie, są tak wspaniałe i usprawniające pracę i jej jakość, iż z własnej strony, osobie noszącej się z zamiarem nauki tego framework’a polecał bym zaczekać jeszcze. Tak by zacząć od studiowania najnowszej wersji 1.1. Opinię tę opieram na fakcie tego jak wiele z wersji 1.0 stanie się nieaktualne i nie zalecane, jak również na tym, iż dokumentacja w postaci książki “The Definitive Guide to symfony”, owszem dostępna on-line w wersji 1.1, nie jest jeszcze zaktualizowania ( przez co informacje w niej o rozwiązaniach z wersji 1.1 jest szczątkowa ).

Ostatnio opublikowana rewizja w wersji 1.1 to Beta2. Nie udało mnie się jednak dotrzeć do informacji, kiedy możemy sie spodziewać rewizji Public Release. Z pewnością będzie to jeszcze kilka tygodni, przynajmniej.



Brak komentarzy »

Nikt tego jeszcze nie skomentował.

Kanał RSS dla tego wpisu. TrackBack URL

Dodaj komentarz

Oparte na WordPress