#PHP

wszystkie notatki oznaczone etykietą "PHP"

WP Math Captcha

W poprzedniej notce wspomniałem o rezygnacji z dotychczas używanego filtru anty-spamowego, a z powodu takiego, że mój devblog ciągle nawiedzają jakieś spam-boty i zaśmiecają bazę niepotrzebnymi komentarzami-śmieciami, musiałem coś zaaplikować, coś co ich powstrzyma i zmniejszy ten, jakże paskudny proceder. W tym celu przejrzałem katalog wtyczek do WP pod etykietą spam oraz rozejrzałem się po sieci. Wtyczek do eliminacji spamu jest cała masa, ale po zaznajomieniu się z kilkunastoma odechciało mi się kontynuacji tego procesu.

Czytaj dalej

O frameworkach PHP...

O php-owych frameworkach… słów kilka… a raczej o jednym, bądź dwóch, małe przemyślenia… Może na początku powinienem podkreślić, że aktualnie webdeveloperką zajmuję się już bardzo sporadycznie, głównie na własne potrzeby, więc nie siedzę na bieżąco w temacie php-owych frameworków. Tak już jest, że obecnie wolę swoje kompilowane języki i desktopowe/systemowe aplikacje ;) Na uniwerku, na zaliczenie z projektu muszę stworzyć panel do zarządzania serwerem usługowym. Jako serce zaprzęgłem Zend Framework. Już kiedyś coś tworzyłem z “jego pomocą” i nawet przyjemnie się pisało, tylko ta ociężałość, rozbudowana struktura i funkcjonalność czasem może sprawić trochę problemów.

Czytaj dalej

Pomocny .htaccess

Dzięki Ci Panie za .htaccess, który w wielu przypadkach ratuje nas z opresji ;) Czasem, gdy serwer w konfiguracji nie ma zdefiniowanych odpowiednich mime-type dla standardowych rodzajów plików, mogą pojawić się różne nieprzewidziane sytuacje. W większości wypadków ratuje dodanie odpowiedniego wpisu do pliku .htaccess, ale czasami różnie to bywa. Na dreamhoscie dziwnym trafem wiele typowo standardowych plików nie ma ustawionego pożądanego typu, chociażby dla phps, czy xhtml. I z tego powodu natknąłem się na problem - plik index.

Czytaj dalej

Forwardowanie akcji w PHP

Od kilku dni prace nad frameworkiem (lub tym czym to na razie jest) w PHP nie posuwają się naprzód, a to z kilku powodów. Jednym z nich są napotkane trudności, a drugim inne, bardziej lub mniej ważniejsze zajęcia (m.in. grzebanie w asemblerze i “czystym” C). Mam nadzieję, że wkrótce wrócę do tego kodu. Ta wspomniana trudność, jaka mi stanęła na drodze to forwardowanie. A dokładniej to pewna sytuacja przy forwardowaniu kontrolera/akcji.

Czytaj dalej

Pseudo-inteligentny router w PHP

Wiem, że powinienem w tym czasie zamiast bawić się w PHP rozwijać te kilka ważnych dla mnie projektów w C++, ale doszedłem do wniosku, że poświęcę jeszcze trochę czasu na uporządkowanie kilku spraw i projektów, aby potem zabrać się pełną parą za komunikator ;) Notatka nie będzie dotyczyć zabaw z typowym routerem, mowa tu o komponencie/module frameworka odpowiedzialnego za obsługę żądań (requestów) i spraw związanych z generowaniem linków. Może nie jest to typowe, modelowe zadanie routera, tak czy owak w moim małym, skromnym frameworku spełnia takie funkcje ;)

Czytaj dalej

class.tlen.php v1.2

Po prawie roku od ostatniego (pierwszego) wydania doczekaliśmy się wreszcie nowej wersji. Klasa przeszła kilka znaczących zmian. Do głównych można zaliczyć przystosowanie do PHP5, wymiana parsera XML zastępując go wbudowanym w PHP SimpleXML-em, zoptymalizowanie działania całej klasy, wprowadzenie nowego systemu logowania błędów i zdarzeń w czasie pracy biblioteki oraz przystosowanie do dalszej łatwej rozbudowy. Zmiany zaowocowały niekompatybilnością z poprzednią wersją oraz utracenie możliwości działania pod < PHP5.1.x. Pełen spis zmian znaleźć można w changelogu na stronie projektu.

Czytaj dalej

Code Igniter - pierwsze starcie

Moje pierwsze starcie z frameworkiem Code Igniter i programowaniem w PHP po dłuższej przerwie ;) Mam do wykonania projekt i tak jakoś nie chce mi się znów od zera babrać ze wszystkim. Choć niby tylko dzięki temu mam nad wszystkim pełną kontrolę. Prawie jak w asemblerze. A tak BTW, może do asemblera znów powrócę za niedługo, ale to już inny temat. Wracając do projektu, chcę to jak najprędzej i najłatwiej załatwić i przy okazji też jak najmniej się przy nim napracować.

Czytaj dalej

Tlen.Czat.Shell

Skrypt tcs (Tlen.Czat.Shell) służy do korzystania z Tlen.Czatów wprost spod swojego ulubionego shella lub konsoli. Powstał on całkiem przypadkiem przy pracach nad dodaniem obsługi czatów do class.tlen.php. Tak, trwają prace nad tą klasą, oczywiście w wolnym czasie :) Chciałem sobie dla ułatwienia wyświetlić na konsoli parsowany XML, a potem przy okazji i “Eventy” oraz inne przydatne informacje z nimi związane… i po kilku takich dodatkach, odpowiednim sformatowaniu wyświetlanych danych, wszystko fajnie zaczęło się prezentować.

Czytaj dalej

Pierwsze kody Mog'a

Kod Mog’a pomału się rozrasta :) A tak mówiąc szczerze to chyba prawie nic wielkiego jeszcze nie ma. No może oprócz tych kilku podstawowych klas, które będą wykorzystywane przeze mnie także w innych projektach. Mowa tutaj głównie o sterowniku sql-a i parserze template-a. Obie są bardzo proste i posiadają tylko te funkcje/metody, jakie mi są aktualnie potrzebne, czyli totalny minimalizm. System szablonów pewnie się z czasem rozbuduje. Na razie obsługuje tylko pojedyncze zmienne i bloki, ale kiedyś trzeba będzie pomyśleć o warunkach lub nieco inaczej rozwiązać bloki, aby posiadały także funkcjonalność warunkowego przetwarzania.

Czytaj dalej

Projekt Mogger

Wpadłem na kolejny szalony pomysł na projekt, którego nazwą kodową jest obecnie mog, mogger… Spytacie mnie co takiego znów wymyśliłem?! Już Wam mówię… Zresztą słowo mogger… pewnie się wam jakoś kojarzy z joggerem… więc mog, czy jakbym to ostatecznie nazwał, byłby podobnym systemem blogowym, tyle że z obsługą w standardzie przez protokół Tlena i może też innych komunikatorów. Na początek powstałby bot tlenowy, nieco później jabberowy i gg. Z tą częścią nie powinno być większego problemu.

Czytaj dalej