mod_rewrite, rewriting, przyjazne URL-e/adresy, maskowanie, przepisywanie, nazw jest sporo. Zresztą, najpopularniejsza pochodzi od swojego protoplasty – czyli mod_rewrite powstałego pod skrzydłami Apache’a jako moduł. Teraz właściwie standard, jeśli chodzi o nowoczesne strony www – nie tylko ze względu na wygląd, ale i (jak ptaszki ćwierkają, choć jest to wątpliwe wobec oficjalnych źródeł) SEO.
Jak zwał, tak zwał, adres http://example.org/kawalek/adresu wygląda dużo estetyczniej i jest łatwiejszy do zapamiętania niż potworki typu http://example.org/?kawalek=adresu&i=jeszcze&inny=fin
Niby nie jest to takie skomplikowane, ale niektóre sytuacje wydają się nie do rozwiązania.
Uwaga, notka tasiemcowata, więc jest spis treści. Polecam się również uzbroić w odpowiednią ilość czasu. ;]
więcej
W trakcie rozważań z ^kwiateuszem nad jakimiś usprawnieniami dla Forum PHP.pl (IPBoard) przyszedł mi do głowy pomysł, który zauważyłem kiedyś na Polskim Forum Jabbera. Stworzono do niego mod, który umożliwia powiadamianie użytkowników o nowych postach właśnie przez Jabbera.
Pisałem już o module powiadomień opartym o klasę Jabbera dla PHP, ale co w sytuacji, gdy serwer jest bardziej obciążony? Dla małych forów wcześniej omówione rozwiązanie – jak znalazł. Natomiast w przypadku większych aplikacji będzie stanowiło pewien problem – od wydajności po gubienie powiadomień, czy inne nieprzewidziane sytuacje.
Dlatego wykorzystamy w tym celu popularnego klienta IM pod shella, mianowicie ekg2. Umożliwi on również skorzystanie z powiadomień do innych sieci, m.in. Gadu-gadu, czy Tlen.
więcej
Jak wygląda życie zwykłego użytkownika WordPressa…? Otwarcie przeglądarki, logowanie, napisanie notki, publikacja. Zaraz, a gdyby np. skorzystać w tym celu z jakiejś zewnętrznej aplikacji? Owszem, jest tego w pęczki, nie ma sensu wynajdywanie koła na nowo. Jednak protokół, z którego korzystają zewnętrzne aplikacje, może być wykorzystany także w naszych bibliotekach oraz z poziomu samego PHP.
Pomysł na dzisiejszy wpis podsunął mi ^lukjarz. ;]
więcej
Pewnie wiele osób męczy się podczas cięcia z różnymi bolączkami przeglądarek. Jak to wszystkim (jeśli nie, to teraz już tak), nie ma dwóch przeglądarek identycznie renderujących konkretną stronę. Nawet mój weblog w każdej przeglądarce jest jakoś inaczej narysowany, najczęściej są to błędy rzędu złudzenia optycznego (np. margines, czy inaczej zrenderowane ramki obiektów).
Ale już grubą przesadą jest sytuacja, w której większość przeglądarek radzi sobie bezbłędnie z danym ostylowaniem, a jedna konkretna nie. Na ogół da się odpowiednio przeprojektować layout tak, aby wyeliminować artefakty. Niestety, nie zawsze się tak da. W tym celu wymyślono hacki.
więcej
Tworząc formularz kontaktowy – oprócz oczywistej walidacji po stronie serwera – warto sprawdzać jego poprawność również po stronie klienta. Pozwala to oszczędzić nie tylko czas, ale również i nerwy – przykładowo, w przypadku korzystania z IE i wypisaniu tylko komunikatu wypełnij wszystkie pola, spowodujemy drastyczne podirytowanie gościa, gdyż jego „przeglądarka” nie przywróci mu poprzednio wpisanych danych do formularza. Wiem, że IE traci na popularności (i dobrze!), ale pani Jadzia z sekretariatu też powinna być zadowolona z odwiedzin na naszej stronie.
Klasycznie, zaczniemy od studium przypadku.
więcej
aktualizacja
W Sieci można natknąć się na wiele przepisów, w jakis sposób stworzyć drzewka zapisywane w DB. Niektóre mają więcej, niektóre mniej wad… Ale poszukiwałem jakiegoś w miarę uniwersalnego rozwiązania, które by najlepiej pasowało do moich potrzeb.
Założenia
Potrzebujemy drzewka kategorii. Ot, takie najprostsze, np:
- kategoria
- podkategoria1
- podkategoria2
- kategoria
więcej
Korzystam od dłuższego czasu z klienta webftp net2ftp. Owszem, mógłbym wszystko posyłać FTP-em, ale ze względu na idiotycznego ISP-a, który twierdzi, że Internet = port 80, to jestem zmuszony przepychać wszystkie pliki przez przeglądarkę. Ze względu na to, że stabilność wysyłania w ten sposób jest tragiczna, to muszę rozwiązywać problem w inny sposób. Do tej pory, najlepszym rozwiązaniem jest dodawany do net2ftp aplet JUpload. I wszystko by było OK, gdyby działało pięknie pod Operą. Ale tak nie było. Natomiast, we Flocku wszystko działało… Tak nie mogło być, w mojej ulubionej przeglądarce ma działać wszystko.
Po kilku minutach gapienia się w konsolę Javy, wysnuciu wniosków, opracowałem działające rozwiązanie.
więcej
Specjalnie dla Livia opiszę tutaj jak zrobić rozwijanie postów bez przeładowywania strony. Czego potrzebujemy? Trochę czasu, chęci, oraz możliwości edytowania szablonów WordPressa (czyli hosting na blogi w stylu wordpress.com odpada)
Uwaga: przy „instalowaniu” rozszerzenia wymagana jest podstawowa wiedza nt. (X)HTML, PHP, JS. Wiadomości o skórkach WordPressa przydadzą się, aczkolwiek nie są niezbędne. Te zdobędziesz w Codexie.
Do roboty!
więcej
Prace nad Vexerianem cały czas trwają. Kilka kamieni milowych osiągniętych, parę kwestii wyjaśnionych, działa OK.
Kolejną „milówką” jest klasa obsługi formularzy. Wychodząc z założenia „pomęczę się wcześniej, później będzie luźniej” postanowiłem napisać sobie kompleksową klasę obsługi formularzy. Pomysł wpadł mi do głowy po drodze, tylko nie pamiętam już do czego. Wracając – założyłem sobie obsługę kilku pól:
więcej
Niby to zbieżność nazwy z moim imieniem (albo przezwiskiem w sekcji), ale ten wytwór nie jest mojego autorstwa. Dla niewtajemniczonych: jest to polska modyfikacja jednego z najpopularniejszych (o ile nie najpopularniejszego) „skryptu biuletynowego”, czyli tłumacząc z polskiego na nasze – forum dyskusyjnego, które można sobie postawić na własnym koncie www.
więcej