Symfony od wersji 1.3 posiada obsługę maili dzięki znakomitemu Swift Mailerowi. Mailer ten posiada wszystko to czego się powinno spodziewać po zaawansowanej bibliotece do wysyłki elektronicznej korespondecji m.in. wysyłanie za pośrednictwem różnych transporterów (Sendmail, SMTP), obsługę załączników, szyfrowanie czy zabezpieczanie przed email injection. Dzięki symfony funkcje te zostają dodatkowo rozszerzone o kolejkowanie wiadomości w bazie danych czy wysyłanie emaili z crontaba. Niestety jak dotąd jedyną bolączką Swift Mailera i Symfony jest to, że nie oferują one prostego i wygodnego systemu obsługi szablonów. Dzisiaj pokażę jak stworzyć bardzo prostą klasę, która w podstawowym stopniu powinna zaspokoić potrzeby osoby wykorzytującej mailera symfony.
Archive for the ‘Symfony’ Category
Zarządzanie szablonami email w Symfony
symfony project:deploy w trybie verbose
Programiści mający styczność z wersjami symfony wcześniejszymi niż 1.3 pamiętają, że podczas deployment’owania projektu konsola (a dokładnie rsync) działał w trybie verbose. W trybie tym system pokazywał jakie pliki zostały zmienione i nadpisane. Wraz z wejściem symfony 1.3 czegoś takiego domyślnie nie było. Ale ta opcja jest nadal dostępna i zaraz pokażę jak jej używać w wersjach >= 1.3.
Tryb ten jest bardzo przydatny, ale bez niego opcja –dry-run (de facto domyślna) nie ma większego sensu. A o błędzie w synchronizacji i ewentualnie nadpisanym nie tym pliku możemy się przekonać dopiero przy automacie z kawą… ale wtedy jest już za późno.
Przydatne funkcje Symfony
Czasami mam problem z zapamiętaniem niektórych funkcji Symfony z których korzystam po prostu częściej niż z innych, dlatego postanowiłem systematycznie wrzucać tutaj takie funkcje żeby mieć je zawsze pod ręką…
Request
Pobieranie adresu IP użytkownika
Routing
Generowanie adresu URL
Pobranie nazwy routingu
ORM
Pobranie domyślnej wersji językowej w modelu (Propel)
Response
Sekcja META
Nagłówki
Wyszukiwane frazy:
- symfony wlasne funkcje (3)
- symfony różne wersje językowe (2)
- symfony $this->getresponse()->addmeta (1)
- symfony funkcje (1)
- symfony plugins get ip adresy (1)
- $this->getresponse()->setcontenttype(text/xml); (1)
- symfony sf_request (1)
- symfony wersje językowe (1)
- symfony2 getip (1)
- symfony $sf_request (1)
svn:externals na przykładzie projektu w symfony
Przypuśćmy, że pracując nad projektem w symfony dochodzi do sytuacji gdzie używamy pluginów napisanych przez siebie i co jakiś czas wprowadzamy do nich jakieś poprawki. Co zatem musimy później zrobić? Wypadałoby zaktualizować wszystkie projekty w których jest ten plugin… albo, jeśli używamy subversion, zastosować atrybut svn:externals…
Atrybut ten służy do załączania do repozytorium repozytoriów zewnętrznych, nad którymi pracują inne zespoły programistyczne (lub my sami). Dzięki takiemu podejściu możliwe będzie pracowanie zawsze z aktualnymi wersjami pluginów, a jak natrafimy na jakis błąd to wystarczy go po prostu poprawić i skommitować- zmiany zostaną wprowadzone w repozytorium pluginów, z którego korzystają inne repozytoria… dzięki czemu zawsze dysponować będziemy aktualną wersją.

