Kategoria ‘Php’

DateTime – koniec problemów z czasem

php_logo_ok-300x1502Od czasu do czasu trzeba zrobić operacje na datach, jakieś przesunięcia, pętle, czy też okresy. Php oczywiście podaje nam ciekawe rozwiązania problemów takie jak: date, mktime, strftime, gmmktime, time itp itd. Nie wiem jak dla Was ale korzystanie z tego „czasowego śmietnika” powodowała u mnie negatywne emocje. Dlatego korzystałem z Zend_Date. Lecz według mnie ta biblioteka to przerost formy nad treścią jeżeli potrzebujemy tylko wyznaczyć przedziały czasu (tygodnie miesiące) w zadanym okresie. Dlatego w php jest coś takiego jak DateTime.

czytaj dalej »

[krótko] preg_split – multi explode

Rozwijając mój serwis pensje.net trafiłem na ciekawy problem. Otóż tworząc kreator raportów chciałem stworzyć funkcjonalność, która rozpoznaje czym są oddzielane wartości w wyszukiwaniu, np.: „programista php”, „programista,php”, „programista;php”. Ostatecznie chodziło o to aby wyciągnąć wartości „programista” oraz „php” i przeszukać tabelę pod ich kątem. Jako pierwsze rozwiązanie „explode” w pętli, lecz zanim zacząłem tworzyć poszukałem czegoś na wzór multi explode. Znalazłem funckję preg_split.

czytaj dalej »

krótko: funkcje php w javascript

Czasem zdarza się, że mam potrzebę użycia w javascript funkcji z php. Jak się okazało nie tylko ja miałem taki problem. Dlatego też powstał projekt przepisania funkcji php do js. Jak możemy przeczytać na stronie http://phpjs.org/ wszystko zaczęło się niewinnie, od dwóch funkcji udostępnionych na blogu w paczce php.js. Następnie przyłączyli się inni developerzy do tworzenia dzieła i tak powstała biblioteka php.js zawierająca pokaźną ilość zaimplementowanych funkcjonalności php’a.

czytaj dalej »

optymalizacja przechowywania danych w mysql

Ciężko jest skategoryzować ten wpis – czy to bardziej mysql czy też php. Celem jest przedstawienie formy przechowywania danych w określonym przypadku. Załóżmy sytuację, że musimy w bazie danych przechowywać informacje które na poziomie samej bazy nie będą przetwarzane, a jedynie dopiero po odczytaniu przez php. Chodzi o to, że zamiast budować relację możemy przechowywać zserializowaną tablicę jako kolejną kolumnę w tabeli. Najlepszym przykładem są wszelkie systemy do zbierania informacji, które później trzeba przeanalizować, np.: systemy do zbierania statystyk.

czytaj dalej »

Python okiem programisty PHP – kompletne porównanie

Moja przygoda z pytonem zaczęła się w lutym 2008 i zakończyła się w czerwcu 2008. Szkic tego artykułu powstał pół roku temu, dziś mam nadzieję go ukończę i opublikuję. Zainteresowałem się tą technologią (python) z nadzieją, iż moje aplikacje będą o kilka poziomów lepsze. Aktualna praca pozwalała mi na małe R&D, więc po uzgodnieniu z szefem rozpocząłem projekt stosując pyhona a dokładnie django. Do bazy danych użyłem sqlAlchemy. Kolejny projekt stworzyłem używając pylons’a. Po wykonaniu tych projektów wróciłem do PHP :) Dlaczego? Po kolei opiszę czemu wróciłem do PHP, odwołując się do głównych zalet pythona.

czytaj dalej »

Doctrine ORM – wprowadzenie

W ciągu kilku następnych artykułów mam zamiar napisać trochę o Doctrine. W wielkim skrócie jest to coś takiego co zastepuje funkcje mysql_query oraz umila i przyspiesza pracę z bazami danych – oczywiście po zapoznaniu się z technologią. Profesjonalnie – jest to relacyjne mapowanie danych na obiekty - Object-Relational Mapping, czyli ORM.
czytaj dalej »

php gd2 – znaki wodne, napisy, ramki – operacje na obrazku

Ostatnio przypadkowo trafiłem na instrukcję jak za pomocą css i obrazka PNG ustawić narożniki dla obrazka. Dla mnie wydało się to bardzo nieprofesjolanie, bo wiadomo, że w takim rozwiązaniu należy stosować ieHack oraz dochodzi zbędny kod html,css i js. Postanowiłem opisać jak należałoby to zrobić wykorzystując gd2, tzn napisałem generator obrazków do tego celu :) Dodatkowo naniesiemy napis niestandardową czcionką – znak wodny, podpis itp
czytaj dalej »

Cachowanie funkcji – przyspieszenie generowania stron

Kontynuując cykl optymalizacji aplikacji przedstawiam wam moja super klasę cachowania.
Przyspiesza ona generowanie stronek dość istotnie.
Wyobraźmy sobie system informatyczny, serwis www czy też inne ustrojstwo,
zawsze w każdej aplikacji jest chociażby jedna funkcja, która jest często
wywoływana i jej wykonanie zajmuje więcej czasu niż 0.05 sek, a jej wynik
zmienia się dość rzadko, np raz na godzinę. Czemu więc by nie wykonać
optymalizacji takiej funkcji? A co jeżeli bardziej się nie da? I tutaj
właśnie przedstawiam rozwiązanie :).
czytaj dalej »

Krótko: sprawdź swoją pozycję w google :)

Tym razem będzie krótko. Ostatnio był mi potrzebny skrypt do sprawdzania pozycji w google, jednak nie miałem odwagi wykorzystywać aktualnie istniejących aplikacji (rejestracja, logowanie i inne tego typu pierdoły), sam napisałem taki skrypt. Znajduje się tutaj Sprawdź pozycję w google!. Zapraszam do korzystania, być może kiedyś to rozwinę, np o moduł statystyk, ale aktualnie będzie tak to wyglądać.
czytaj dalej »

Cachowanie stron – oszczędzanie serwera :)

W poprzednim artykule opisałem możliwości gzipowania plików tekstowych zanim zostaną one przesłane do użytkownika. Lecz zanim strona będzie mogła zostać zgzipowana musi być wygenerowana. Aby uzyskać super wydajność tutaj również zastosować jakiś mechanizm. W zależności od potrzeb buduje się bardziej lub mniej złożone procedury cachowania wygenerowanej treści. Stosując prosty przykład pokazuję jak łatwo jest to zrobić dla swojej stronki domowej :)
czytaj dalej »



Wersja mobilna