Migracja Zend Framework z 1.0.4 do 1.5.0
Migracja Zend Framework z wersji 1.0.4 do 1.5.0 była w miarę bezbolesna, ale jednak wymagała wprowadzenia kilku poprawek. Na szczęście większość z nich udało się wprowadzić za pomocą “znajdź i zamień”.
1. Wdrożenie Zend_Laout
W stabilnej wersji 1.5 dostępny jest już komponent Zend_Layout, więc czas na rezygnację z własnego rozwiązania i wdrożenie nowej klasy. Do tej pory do konfiguracji layoutów każdy używał pewnie różnych własnych rozwiązań, więc migracja może wyglądać różnie. Punktami wspólnymi są:
- Włączenie funkcjonalności Zend_Layout poprzez dodanie w pliku uruchamiającym wywołania:
Zend_Layout::startMvc(); - W layoutach dodanie miejsca w którym wyświetli się zrenderowany wynik akcji:
<?php echo $this->layout()->content; ?>
Oprócz tego trzeba oczywiście usunąć lub zaktualizować własny kod, który do tej pory obsługiwał layouty.
2. Zmiany w Zend_Cache
Tu zauważyłem jedynie zmiany w nazewnictwie opcji konfiguracyjnych i jednej metody. Zresztą z tego co pamiętam to nazwy tych opcji zmieniono już w którejś wcześniejszej wersji, jednak dopiero teraz usunięto kompatybilność wsteczną. W konfiguracji Zend_Cache zmieniamy:
- nazwę opcji “automaticSerialization” na “automatic_serialization”
- nazwę opcji “lifeTime” na “lifetime”
Oprócz tego zmienamy nazwę metody pobierającej bufor z $cache->get() na $cache->load().
3. Zend_Controller
W tym komponencie poprawiono sposób obsługi nazw akcji przez komponent Zend_Controller. Można o tym szerzej poczytać w dokumentacji w rozdziale opisującym migrację z 1.0.x do 1.5. Pzedstawiono tam trzy sposoby na aktualizację kodu, ja wybrałem pierwszy polegający na zmianie nazw akcji z camelCaps na camel-caps w:
- odnośnikach w widokach
- wywołaniach przekierowań w kontrolerach
- nazwach plików widoków
- nazwach zasobów w ACL
Po wprowadzeniu zmian wszystko wydaje się działać bezbłędnie. Oczywiście nie używam wszystkich komponentów ZF więc nie wszystko ująłem, więc oprócz powyższych zmian może być konieczne wprowadzenie ich też w innych komponentach.
Życzę przyjemnej migracji



No prosze. Ja nieststy skonczylem projekt zlecony 2 dni po oficjalnym release 1.5 wiec nie skorzystalem z wszystkich funkcjonalnosci, acz kolwiek Zend_Controller w nowej postacji zostal zastosowany. Mam nadzieje szybko skonczyc swoja strone (aktualnie przygotowana lokalnie w ZF 1.0.4 i w pelni wykorzystac potencjal ZF 1.5).