Kategoria: PHP

Obsługa zdarzeń w PHP

Ostatnio przypadło mi zmierzyć się z pewnym problemem, który wymusił na mnie utworzenie mechanizmu obsługi zdarzeń w rozwijanym przeze mnie frameworku. Postaram się pokrótce opisać problem i rozwiązanie, jakiego użyłem.

PHP, safe mode i problem z zapisywaniem plików w folderze utworzonym przez serwer www

Bardzo często zdarza się, że serwera www, na którym uruchamiamy nasze skrypty został ustawiony w tryb bezpieczny dla PHP. Jednym z problemów jakie mogą się nam przytrafić w takiej sytuacji, jest niemożność utworzenia plików w katalogu, który został stworzony z poziomu PHP.

htmlentities i znak ó - pozbywamy się encji ó

htmlentities, to funkcja, która przydaje się zawsze wtedy, gdy chcemy zabezpieczyć nasz skrypt przed wstrzyknięciem kodu lub części zapytania SQL. Wielu uważa, że htmlentities zamienia tylko znaki [<>&'"] na encje. Niestety prócz wspomnianych znaków htmlentities konwertuje również szereg znaków specjalnych, w tym znak "ó". Dzieje się tak ponieważ, ów znak należy do rozwinięcia tabeli kodów ASCII, a jego wartość wynosi 0xF3.

(PHP & ArrayObject & serialize)?

ArrayObject to rozszerzenie zwykłej tablicy, które w dodatku może posłużyć nam jako klasa macierzysta, do konstruowania obiektów mających funkcjonalność tablic. To rozwiązanie daje nam wiele możliwości takich jak przeciążenie metod odpowiedzialnych za ustawianie i odczytywanie indeksu tablicy. Niestety w momencie gdy przeciążymy metody odpowiedzialne za ustawienie i zwrórenie indeksu nie będziemy w stanie poprawnie zserializować naszego obiektu.