Technologie i narzędzia: język PHP 5, Java, JavaScript, Python, system Zend Framework, Django, biblioteka jQuery, Smarty, platforma Eclipse, MySQL, SVN, CVS, UML, Firefox.
WebProgramming - wszystko o serwisach internetowych
O serwisach internetowych.
[php|zend] Prosta klasa do konwertowania/sprawdzania typu.
Na potrzeby biblioteki obsługi plików CSV w Zend Framework (i ogólnie w języku PHP) stworzyłem prostą klasę, która miała służyć do konwertowania i sprawdzania typu napisu (ang string). Z racji, że implementuje ona odrębną funkcjonalność postanowiłem przedstawić ją osobno, zanim przejdę do omawiania wspomnianej biblioteki Fasic_Csv.
[php|zend] Przykłady dla biblioteki Fasic_Mail + nowa wersja biblioteki.
Dwa miesiące temu przedstawiłem system szablonów e-maili oraz najprostszy przykład jego użycia. Tym razem chciałbym podać bardziej zaawansowane przykłady (niektóre z nich były już wspomniane) wraz z kodem źródłowym, w tym: obsługa wielu managerów, wielojęzyczność, treść e-maili w formacie HTML i obsługa załączników.
[usability] 10 porad.
Osoby zainteresowane tematem użyteczności na pewno zaciekawi pewien artykuł, który miałem przyjemność niedawno przeczytać, a mianowicie “10 Ustability Tips for Web Designers“.
Trudno się z tymi uwagami nie zgodzić, zastanawia mnie jedynie ostatnia z wymienionych porad “Unikać CAPTCHAs” - z punktu widzenia użyteczności może to i dobra uwaga… ale po coś to zostało wprowadzone ;). Po usunięciu ich z formularzy wracamy do punktu wyjścia - w tym momencie musimy rozwiązać problem wysyłania formularzy przez automaty.
[php|zend] Szablony emaili.
Biblioteka wysyłania e-maili w systemie Zend Framework jest bardzo fajnie zaprojektowana i zaimplementowana (patrz Zend_Mail). Niestety brakowało mi w niej obsługi szablonów, które spełniałyby następujące kryteria:
- Treść e-maila jest poza kodem PHP (patrz też pkt 3)
- Sparametryzowanie e-maili, czyli możliwość wysyłania tych samych e-maili różniących się tylko niektórymi wartościami (np e-mail aktywacyjny może różnić się tylko adresem aktywacyjnym)
- Wybór między źródłem treści szablonów (na przykład pliki xml, baza danych)
- Możliwość ustawiania domyślnych wartości dla pól takich jak: temat, adresat, załączniki.
Tak bardzo mi tego brakowało, iż postanowiłem tą ideę przelać na kod.. oto wynik.
Przeglądarki różnych wersji na jednym komputerze.
Jak powszechnie wiadomo web developer jest nijako zmuszony testować swoje dzieła pod różnymi przeglądarkami - standardem są oczywiście testy pod Internet Explorer 6 i 7 (a niebawem zapewne dojdzie do tej listy numerek “osiem”) oraz FireFox - zarówno dla wersji 2.x jak i 3.x (obie wersje różnią się znacznie, w szczególności w implementacji silnika JavaScript). Jak sobie z tym poradzić mając do dyspozycji tylko jeden komputer?
[php] Prosta obsługa stronicowania - część 2.
Przyszedł czas na pozostałą część aplikacji, czyli kontroler i widok. Przypomnę tylko, iż ten artykuł przedstawia ciąg dalszy idei, którą przedstawiłem w artykule “[php] Prosta obsługa stronicowania - część 1” (łatwo się zresztą domyślić) - proponuję więc zapoznanie się najpierw z pierwszą częścią, jeżeli wcześniej tego nie uczyniłeś.
[php] Prosta obsługa stronicowania - część 1.
W artykule “[sql] Trik w MySQL” przedstawiłem sposób na obsługę stronicowania w SQL. Teraz chciałbym przedstawić pozostałe części aplikacji - czyli Model, Controller i View - które z tego korzystają. W tej części opisze sam model, w części drugiej skupie się na kontrolerze i widoku.
[sql] Trik w MySQL
Tworząc stronicowanie listy (typu “Strona: 1 2 3 4 …”) musimy znać liczbę wszystkich rekordów, aby obliczyć liczbę wszystkich stron. W ostatnim artykule podałem przykład jak nie należy się do tego zabierać, ale jak to zrobić, aby było optymalnie?
[sql|php] Obiektowa pułapka.
Nakładek obiektowych na relacyjną bazę danych jest coraz więcej - aktualnie jednymi z bardziej popularnych są te oparte na wzorcu Active Record. Niewątpliwie ułatwiają one prace programiście i sprawiają, iż kod staje się czytelniejszy i lżejszy… mogą wprowadzać jednak pewne zagrożenie.
[usability] Google Search
Może już jest późno i mnie się coś wydaje, ale zauważyłem pewne niedociągnięcie w kolejnym produkcie Google - tym razem znanej wszystkim Google Search. Wczoraj w nocy po kliknięciu na “Szukaj” w Google, oddaliłem swój wzrok od monitora i zauważyłem…