Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Śpiechu, dodany: 24.03.2014 23:34, tagi: php

Perhaps you used once or twice builtin zlib.* or mcrypt.* stream filters. Have you tried making your own stream filter? Maybe you didn’t need to. There are ways to accomplish business needs without making hands dirty by not well documented stuff like user filters. I need to know that topic like I said before, because of certification :-)

We’re going to make stream filter capable of computing hash checksum from stream contents on the fly. Rich documented code below:

Autor wpisu: zleek, dodany: 24.03.2014 08:20, tagi: css, javascript, php

Dostępność urządzeń z różnymi rozmiarami ekranów oraz wyświetlającymi obraz w różnych rozdzielczościach wymusza na twórcach stron internetowych takie ich tworzenie, aby automatycznie się skalowały i dostosowywały swój wygląd oraz wyświetlane informacje. Problem pojawia się jednak, gdy chcemy sprawdzić nasze rozwiązania w różnych rozdzielczościach ekranów. Mało kto bowiem będzie miał możliwość posiadania przynajmniej kilku najpopularniejszych urządzeń […]

Autor wpisu: Śpiechu, dodany: 20.03.2014 22:30, tagi: php

This entry is the first part of three parts covering streams in PHP. I’m preparing for ZCE certification and streams are important part to pass the exam.

Now to the point.  By using stream contexts we can „hook up” to stream notifications by stream_context_set_params function. When you want to know what’s happening during stream processing live, the best way is to use stream context notification param. Take a look at the simplest snippet: Notice that even when we didn’t start fetching stream contents yet, a few interesting things happened:

  • stream has connected,
  • retreived mime type,
  • redirect took place (not always),
  • retrieved file size (not always),
  • notified 0 bytes progress.

Also notice that this method won’t work with local resources (at least on my server doesn’t work), what brings us to second method involving stream reading. This method will always work under 2 conditions:

  • you fetched enough bytes (for eg. Adobe PDF full recognition needs about 10 bytes),
  • you check mimetype with first pass (it’s obvious) or you end up with octet stream generics.

Stay tuned for second part about custom stream filters.

Autor wpisu: bastard13, dodany: 13.03.2014 15:05, tagi: design, oop

segregacja interfejsów czyli co?

Czyli: Klasa udostępnia tylko te interfejsy, które są niezbędne do zrealizowania konkretnej operacji. [link] albo: Klasy nie powinny być zmuszane do zależności od metod, których nie używają. [link] no chyba, że tak: Klasa powinna udostępniać drobnoziarniste interfejsy dostosowane do potrzeb jej klienta. Czyli, że klienci nie powinni mieć dostępu do metod których nie używają. [link] I są to tylko niektóre z definicji, które udało mi się znaleźć w internecie po bardzo krótkich poszukiwaniach. I oczywiście pomimo tego, że brzmią odrobine inaczej, to sprowdzają się one do tego samego.Czytaj więcej »

Autor wpisu: bastard13, dodany: 08.03.2014 18:42, tagi: design, oop

więc chodź, pomaluj mój świat

Jak obiecałem ostatnio pora zabrać się w końcu za wzorce. Pierwszym, nad którym się odrobinę poznęcamy będzie Dekorator. Dekorator to wzorzec należący do rodziny wzorców strukturalnych i jego głównym zadaniem jest umożliwienie rozszerzenia funkcjonalności konkretnego obiektu poprzez "dodanie" do niej czegoś od siebie, rozwinięcie jego możliwość o to, co oferuje konkretny dekorator.Zdaję sobie sprawę, że trochę enigmatycznie może to brzmieć, ale mam nadzieję, że po przeczytaniu całego wpisu, wszystko stanie się jasne i proste :)Czytaj więcej »

Autor wpisu: Jacek Skirzyński, dodany: 28.02.2014 23:18, tagi: php, symfony2

Ostatnio miałem okazję uruchamiać na hostingu współdzielonym od home.pl aplikację w Symfony2. Uruchomienie było testowe, ale jak zwykle były problemy.

Google podpowiedziało rozwiązanie umieszczone na forum PHP. Opis jest szczegółowy, jednak w moim wypadku efekt nie działał, więc zacząłem sam kombinować. Poniżej moje zapiski:

  1. utworzenie konta FTP z dostępem do katalogu /strona (oczywiście nazwy każdy dobiera indywidualnie);
  2. skierowanie domeny/subdomeny na katalog /strona/web, serwis musi być bez separacji;
  3. przegranie plików projektu do katalogu / konta FTP (tzn. do katalogu /strona całego konta hostingowego);
  4. dodanie pliku php.ini z poniższymi wpisami:
    short_open_tag = Off
    magic_quotes_gpc = Off
  5. w pliku web/.htaccess należy dodać komentarze w linijkach:
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
  6. jeżeli wersja PHP nie jest przełączona w panelu zarządzania hostingiem, trzeba to zrobić w pliku web/.htaccess dodając linijki:
    :Location /*.php
    Use php53 
    :Location

    minimum dla Symfony2 to PHP 5.3.3, ale home.pl udostępnia też PHP 5.4 (Use php54)

  7. po wyczyszczeniu cache i skonfigurowaniu aplikacja powinna już działać.

Autor wpisu: bastard13, dodany: 24.02.2014 11:43, tagi: design, oop

kolejny rok czas zacząć...

Zima już nas zostawiła, wszelkie śniegi, które na chwilę do nas zawitały również już się potopiły tak więc najwyższa pora rozruszać stawy i sprawdzić czy palce potrafią jeszcze pisać w takt pojawiających się w głowie słów. A że powrót do formy po tak długiej przerwie do przyjemnych nie należy, a im dużej się go odwleka, tym jest trudniejszy, to aby sobie to wszystko uprzyjemnić i ułatwić postanowiłem zacząć nowy rok od nowej serii wpisów. Tym razem pod młotek idzie temat długo przeze mnie pomijany - Wzorce Projektowe. Na wstępie jednak zaznaczę, że w przeciwieństwie do serii o tym jak pisać obiektowo oraz o SOLID (tutaj pragnę nadmienić, że ostatnie dwa wpisy pojawią się w niedługim czasie) będzie to dość luźna seria i choć plany na kilka najbliższych wpisów już mam, to jestem otwarty na propozycje i jeżeli w zakamarkach Waszych głów czai się wzorzec, który nie daje Wam spokoju, to piszcie w komentarzach, a ja postaram się co nieco rozjaśnić (o ile oczywiście będę w stanie :). Chcąc nie chcąc, na wstępie, czyli dzisiaj, musi być trochę, tak przez wszystkich kochanej, suchej teorii, czyli słów kilka o tym, czym wzorzec jest, po co i dlaczego je stosować, co daje ich znajomość oraz jak je dzielimy.Czytaj więcej »
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.