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] Operacje na plikach a prawa dostępu.
Ostatnio spotkałem się z ciekawymi problemami związanymi z prawami dostępu do pliku/katalogu, które nie koniecznie są na pierwszy rzut oka (a nawet na drugi) oczywiste. Dotyczy to funkcji:
- is_file($file) - funkcja sprawdzająca, czy podany w parametrze plik istnieje.
- mkdir($dir, $mode) - funkcja, która tworzy katalog $dir i przydziela mu prawa podane w drugim parametrze.
[zend] Bardziej funkcjonalne autoload.
Każdy programista PHP 5 zna i lubi magiczną funkcję __autoload(). Z jej dobroci korzysta oczywiście system Zend Framework, który według mnie bardzo ciekawie rozwiązał problem ładowania plików/klas PHP. Dla niewtajemniczonych napisze tylko, iż w/w system określa ścieżkę na podstawie nazwy klasy według wzoru: klasa Zend_Db_Select jest przekształcana na ścieżkę /Zend/Db/Select.php - naszym zadaniem jest tylko ustawić odpowiednio ścieżki przeszukiwań (include_path).
Nie o tym jednak chciałem pisać. Moim celem na dzisiejszy wieczór jest przedstawienie rozszerzenia klasy Zend_Loader umożliwiającą “dorzucanie” nowych bibliotek, które nie są dostosowane do systemu Zend Framework (czyli nazwy klas nie są w odpowiednim formacie), a chciałyby skorzystać z dobroci funkcji __autoload().
Ciekawostki ze świata jQuery, Zend, PHP, JavaScript, Eclipse.
Już niebawem dużo artykułów dotyczących serwisów internetowych, między innymi:
- PHP - wydajność i bezpieczeństwo, omówienie ciekawych trików, które ułatwiają pracę
- JavaScript - zaprezentowanie jednej z najlepszych bibliotek JavaScript czyli jQuery, omówienie wtyczek i możliwości biblioteki.
- Zend Framework - przedstawienie rozwiązań dotyczących między innymi obsługi szablonów, bazy danych i wiele innych.
- Eclipse - szczegółowe omówienie PDT Eclipse dla PHP
[php|javascript] Walidacja formularzy po stronie klienta dla Fasic_Form.
W poprzednich artykułach opisałem prostą (ale użyteczną) bibliotekę do obsługi formularzy, teraz przedstawię rozwiązanie, które umożliwia walidacje po stronie klienta (za pomocą JavaScript) - reguły walidacji generowane są na podstawie obiektu formularza (czyli Fasic_Form).
Walidacja po stronie klienta oprócz wcześniej wspomnianej biblioteki Fasic_Form została również oparta na komponentach Zend Framework oraz jQuery (jednej z najlepszych bibliotek JavaScriptowych), więc znajomość tych pozycji na pewno się przyda.
[php] Integracja biblioteki Fasic_Form z Zend Framework.
W poprzednim artykule omówiłem jedną z wizji obsługi formularzy - przedstawiłem ją na przykładzie prostego skryptu PHP. Teraz czas na odważniejszy krok - integracja biblioteki z systemem Zend Framework. Tym razem naszym celem jest ładna i prosta integracja Fasic_Form z kontrolerem akcji (klasą typu Controller) .
[php] Obsługa fomularzy w Zend Framework.
Chciałbym Wam przedstawić moją propozycję obsługi formularzy w systemie Zend Framework (i nie tylko), istnieje kilka rozwiązań tego powszechnego problemu (na przykład w dziale proposal), ale niestety nie są wg mnie godne uwagi.
Wg mnie bibliotekę do obsługi formularzy powinno cechować:
- wsparcie dla walidatorów oraz filtrów
- możliwość korzystania z biblioteki poza Zend Framework
- elastyczność rozwiązania oraz prostota
Nie powinna natomiast zawierać:
- generowanie kodu HTML
- elementów dotyczących prezentacji pól formularza oraz jego innych elementów
Kliknij więcej, aby zobaczyć wynik - bibliotekę Fasic_Form.
[wydajność] Sposoby cachowania strony (aktualizacja)
Cachowanie to jeden ze sposóbów przyspieszenia działania serwisu internetowego (i tym samym zwiększenia jego wydajności). Jest to jednak bardzo ogólne pojęcie, ponieważ jego realizacja może dotyczyć różnych warstw serwisu zaczynając od bazy danych a kończąc na przeglądarce.
[plugin] Google Analytics dla WordPress.
W ramach testów i poznania systemu WordPress postanowiłem zbudować wtyczkę dla obsługi statystyk Google. Pierwsza wersja powstała już za czasów blogu szczepaniak.biz, jednak dopiero teraz przybrała formę, która może ujrzeć światło dzienne.
[php] Problem typu “header already sent”
Zapewne nie raz spotkaliście się z takim błędem i wydawałoby się, że wiadomo o co chodzi - strona chce wysłać nagłówki (ang. header) ale nie może ponieważ wcześniej zostały wysłane inne dane do przeglądarki klienta (np za pomocą echo) . Niestety nie raz ciężko znaleźć to “wcześniej”…
[plugin] Autologin - wtyczka do WordPressa.
Plugin do systemu WordPress ułatwiający korzystanie z powiadomień emailowych. Umożliwia on automatyczne logowanie do panelu administracyjnego po kliknięciu na link zawarty w emailu (na przykład link zatwierdzający komentarz).