Wpisy na blogu oznaczone jako symfony

Konfiguracja Nginx dla projektów Symfony

Z okazji wydania wersji 1.0.0 odświeżyłem nieco swoją wiedzę o Nginx. Od czasu, kiedy po raz pierwszy go konfigurowałem, wzbogacił się o kilka nowych dyrektyw i zmiennych. Dzięki temu mogłem uprościć swoją konfigurację dla projektów Symfony (zarówno symfony 1.x jak i Symfony2).

Kompilacja Doctrine w symfony 1.4

Z reguły przy profilowaniu aplikacji symfony 1.x wychodzi, że budowanie obiektów przez Doctrine jest jedną z bardziej pracochłonnych operacji. Ostatnio miałem ciekawszy przypadek. Znaczącą część czasu wykonania skryptu zajmowało ładowanie klas ORMa (require_once!). W normalnych warunkach tego typu operacje są prawie niewidoczne.

Automatyczne publikowanie aplikacji Symfony na wiele serwerów z Capifony

Capifony to zestaw recept Capistrano do publikowania aplikacji napisanych w symfony lub Symfony2. Multistage jest rozszerzeniem Capistrano. Ułatwia publikację kodu na kilka serwerów, które różnią się nieco konfiguracją lub procesem publikacji.

Tydzień przed Symfony Live 2011

Został już tylko tydzień do tegorocznego Symfony Live w Paryżu. Już wiemy, że Symfony 2.0 nie ujrzy światła dziennego na konferencji. Możemy liczyć na stabilne API, jednak ostateczne wydanie planowane jest na koniec marca. Mimo to konferencja zapowiada się ekscytująco.

Symfony i APC

Do niedawna byłem wyłącznie użytkownikiem XCache (jeśli chodzi o akceleratory PHP). Ostatnio potrzebowałem użyć APC w aplikacji symfony. Poszło mi całkiem gładko jako, że framework bardzo ładnie integruje się z najpopularniejszymi rozwiązaniami tego typu.

Rejestracja na Symfony Day Cologne 2010 jest już otwarta

Rejestracja na mający miejsce w niemieckiej Kolonii dzień symfony została wczoraj otwarta. Opublikowano także większość programu. Zeszłoroczne, pierwsze wydanie Symfony Day okazało się dużym sukcesem. W tym roku także nie zabraknie atrakcji.

Symfony Live 2010

W dniach 16-17 lutego odbyła się pierwsza międzynarodowa konferencja Symfony Live. Była to nie lada gratka dla użytkowników frameworka symfony, w której miałem wielką przyjemność uczestniczyć. Wiele ciekawych rzeczy dzieje się obecnie wokół symfony (i Symfony (;). Oto skrót z tego co wydarzyło się na konferencji, a także przedsmak tego co nas czeka w niedalekiej przyszłości.

Wyjątek 'The "default" context does not exist.' w linii poleceń symfony

Jeśli w taskach symfony spróbujemy użyć kontekstu poprzez wywołanie sfContext::getInstance(), otrzymamy wyjątek klasy sfException z komunikatem 'The "default" context does not exist'. Klasa sfContext reprezentuje kontekst aplikacji i dlatego nie jest on inicjowany w linii poleceń. Dobrą praktyką jest NIE używanie sfContext::getInstance(). Zdarza się niestety, że nie mamy innego wyboru (np. gdy korzystamy z obcego pluginu).

CSS przodem, JavaScript tyłem

Załączanie arkuszy styli CSS na górze strony, a skryptów JavaScript jak najpóźniej to tylko dwie z 34 dobrych praktyk opisanych przez Yahoo w Best Practices for Speeding Up Your Website. Stosowanie się do nich pozwoli zmniejszyć wizualnie czas generowania strony w przeglądarce. Oto prosty przykład jak to osiągnąć w symfony.

Parsowanie stron internetowych z użyciem sfWebBrowser i SimpleXML

sfWebBrowser to klasa emulująca wywołania przeglądarki internetwej. Dzięki niej możemy zaprogramować nawigację po stronie www przy pomocy przyjemnego, obiektowego interfejsu. Odpowiedź może zostać zwrócona jako element SimpleXML, co umożliwia wykonywanie zapytań xpath na parsowanym dokumencie. Niestety strony www rzadko są poprawnymi dokumentami XML. W większości przypadków sfWebBrowser raczej wyrzuci wyjątek, niż zwróci coś interesującego. Jest jednak sposób, aby temu zaradzić.