HipHop for FreeBSD | HPHP Playground

Teraz już tylko dzieli mały kroczek od Hip-Hop’a na OSX ;] HipHop for FreeBSD | HPHP Playground

lipca 28, 2010 · paramah

Lithium PHP framework

Dzisiaj z racji chwili wolnego postanowiłem pobawić się czym nowym i pod ostrzał obrałem Lithium, czyli mały lekki i “bogaty” framework w PHP 5.3 i wyższej. Do dzieła. Po rejestracji i wyeksportowaniu kluczy do git’a zassałem snap’a tegoż frameworka. Szybka konfiguracja środowiska, baza i tym podobne zabiegi pojawia sie ekran powitalny: Bardzo przyjemną sprawą jest interface do testów, który jest standartowo zdefiniowany w routerze jako /test: Po klikaniu okazało się że framework korzysta z MongoDB, więc trzeba było doinstalować: ...

marca 13, 2010 · paramah

Steganografia w PHP

Ciekawe czy ktoś to jeszcze pamięta ;) (bo mnie technika deko kurzem zarosła). Dla niewtajemniczonych i tych których szare komórki zawierające informacje na ten temat poumierały z takich czy innych powodów, słów kilka. Steganografia jest nauką o komunikacji w taki sposób by obecność komunikatu nie mogła zostać wykryta, czyli deko inaczej niż w kryptografii (gdzie fakt zaistnienia informacji jest jawny, ale treść już nie). Za Wikipedią: Klasyfikacja systemów steganograficznych: steganografia czysta (pure steganography) - siła techniki opiera się na nieznajomości metody przez stronę atakującą. Systemy te nie spełniają Zasady Kerckhoffsa dlatego nie są polecane steganografia z kluczem prywatnym (private key steganography) - metoda jest jawna i powszechnie dostępna, przez rozpoczęciem komunikacji strony uwzględniają klucz steganograficzny wykorzystywany w sposób zależny od metody, istnieje jednek problem przekazania klucza w bezpieczny sposób steganografia z kluczem publicznym (public key steganography) - podobnie jak w asymetrycznych systemach kryptograficznych używane są dwa klucze - publiczny i prywatny. Klucz publiczny (jawny) wykorzystywany jest przy osadzaniu wiadomości w nośnej, natomiast klucz prywatny przy jej wyodrębnianiu ...

marca 12, 2010 · paramah

Debugowanie PHP i TextMate...

Prosta acz przydatna funkcja XDEbug’a czyli określenie linku: [xdebug] zend_extension=/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so xdebug.file_link_format = "txmt://open?url=file://%f&line=%l" xdebug.profiler_enable=1 xdebug.profiler_output_dir="/Users/paramah/Sites/Debug" xdebug.trace_format=1 xdebug.trace_output_dir="/Users/paramah/Sites/Debug" xdebug.var_display_max_children=3 xdebug.extended_info=1 xdebug.collect_vars=1 ; cgi.force_redirect = 1

stycznia 29, 2010 · paramah

OSX i kodowanie w PHP

Złammy przerwę ;) Niebawem 4 lata jak używam sprzętów z pod znaku jabłka, muszę pomyśleć jak to uczcić… Niedawno przeszedłem na czyściutką instalację Leoparda Snow na moim wysłużonym już MacBook’u (polecam wszystkim - druga młodość laptopa). Na szybko musiałem strorzyć sobie platformę do klikania w PHP, sami wiecie jak to jest - projekty, projekty i jeszcze raz projekty. Dobrze więc jest mieć wszystko czego tylko dusza zapragnie do szybkiego budowania kodu. ...

stycznia 27, 2010 · paramah

SOAP, PHP i Introspekcja

Tworzę ostatnio parę systemów do których potrzebny jest mechanizm RPC lub SOAP. Wertując google mój wybór padł na nieco bardziej skomplikowany SOAP głównie z faktu, że jest on natywnie wspierany prze PHP5 jest oczywiście dostępny poprzez extensions tak więc wypada sprawdzić czy owe wsparcie mamy if (extension_loaded('soap')) { echo "HURAAA!!!"; } U mnie pokazał się zbawienny HURAA!!!! mogłem zabrać się do pracy z SoapClient oraz SoapServer (w przypadku braku możliwości użycia soap extension na waszym serwerze z php proponuję projekt NuSOAP o której napisano wiele, ale uprzedzam jest pisana pod kątem PHP4, jednak nie wymaga żadnych dodatkowych zewnętrznych bibliotek i też działa oferując dużo możliwości tworzenia serwerów i klientów SOAP ) do pełni szczęścia potrzebny był jeszcze jakiś tool pozwalający na szybkie generowanie WSDL (Web Services Description Language) którego sładnia jest nieco zawiła w szczególności przy większych projektach, tutaj z pomocą przychodzą możliwości PHP5 związane z introspekcją lub jak kto woli reverse engineering. ...

maja 26, 2008 · paramah

Rekursywne wyświetlanie katalogów (PHP SPL)

SPL to dość fajne narzędzie do implementacji szczególnie iteracji w PHP, warte poznania. Za pmocą SPL’a da się pewne uciążliwe funkcje napisać prościej. Poniżej przykład funkcji, która wypisuje drzewo katalogów: class DirectoryAdapter extends RecursiveIteratorIterator { private $dirArray; private $path; public function __construct($path) { $this->path = $path; parent::__construct(new RecursiveDirectoryIterator($path), parent::CHILD_FIRST); } public function getDirs() { foreach($this as $item) { if($item->isDir()) { $current = count($this->dirArray); $mtime = date("Y-m-d H:m", $this->getMTime()); $this->dirArray[$current]['mtime'] = $mtime; $atime = date("Y-m-d H:m", $this->getATime()); $this->dirArray[$current]['atime'] = $atime; $this->dirArray[$current]['dir'] = str_replace($this->path,'', $this->key()); } } return $this->dirArray; } public function deleteDir() { foreach ($this as $item) { if ($item->isDir()) { rmdir($this->key()); } else { unlink($this->key()); } } rmdir($this->path); } } Wykorzystanie: ...

maja 18, 2008 · paramah

Debugowanie PHP

Przy większych projektach wiadomym jest fakt, że głęboka analiza jakości kodu jest podstawą, szczególnie jak pracuje się w grupie i nie zawsze mamy czas na sprawdzanie kto i jak zmienił funkcjonalność. PHP nie jest prosty do debugowania, ale narzędzia które ostatnimi czasy pojawiły się w sieci są naprawdę niezłe, mowa tutaj o rozszerzeniu xdebug 2.0 RC4 najfajniejszym dodatkiem w nowej wersji opisywanego jest dołożenie obsługi DBGp czyli protokołu zdalnego debugowania aplikacji, który jest następcą GDB klika naprawdę fajnie. Klientów jest trochę, na stronie xdebug’a są opisane. ...

lipca 1, 2007 · paramah