• PHP.pl
    www.php.pl

    Portal PHP

  • Artykuły
  • Jak umierać z godnością.

    Nieoczekiwane zakończenie skryptu wiąże się zazwyczaj z pojawieniem niezbyt estetycznego komunikatu o błędzie lub pustej strony (w przypadku ustawienia "display errors off"). Jeśli chcemy uniknąć takiej sytuacji możemy skorzystać z funkcji register_shutdown_function, która pozwala na przypisanie funkcji wywoływanej ilekroć nasz skrypt kończy działanie.


  • Co nowego w php 5.3 - część 1

    Dobra wiadomość dla oczekujących php 6 - spora część nowych funkcji zostanie zaimplementowana już w wersji 5.3, która jako ostatnia stabilna "piątka" ujrzy światło dzienne jeszcze w pierwszej połowie tego roku. Fakt ten ucieszy również osoby, których dostawca usług hostingowych zwlekać będzie z upgradem serwerów do php 6.

    Poniżej prezentuję niektóre z nowych funkcji, których możemy się spodziewać w wersji 5.3.


  • Co nowego w php 5.3 - część 2

    Dziś kolejna porcja nowości, jakie pojawią się już niebawem w PHP 5.3. Artykuł jest kontynuacją "Co nowego w php 5.3 część 1". Zapraszam do lektury.


  • 7 grzechów głównych programisty php

    Przedstawiam tłumaczenie/streszczenie artykułu Another 7 deadly sins for PHP . Warto nadmienić, iż podobnych grzechów jest znacznie więcej i winny one być stopniowane w zależności od ilości wiedzy posiadanej przez programistę. Powyższe błędy dotyczą "programatorów" średniozaawansowanych.


  • Podstawy bezpieczeństwa skryptów PHP

    Bezpieczeństwo skryptów PHP to ostatnio często poruszany problem. Jeżeli nie zostaną podjęte odpowiednie kroki, elastyczność języka i łatwość pisania skryptów PHP może jednocześnie stanowić poważne zagrożenie dla ich bezpieczeństwa. Prosta możliwość pobrania danych ze strony internetowej daje jednocześnie potencjalną możliwość przeprowadzenia przeróżnych ataków, których celem jest kradzież informacji z bazy danych lub ich zniszczenie. Nie tylko dane znajdujące się na serwerze są zagrożone - możliwe są takie ataki, które mogą zaszkodzić wszystkim odwiedzającym przez proste "wstrzyknięcie" złośliwego kodu na stronie.


  • Gdy referencje mogą zaskoczyć


  • Okresowe uruchamianie skryptów php

    Współczesne aplikacje webowe bardzo często wykonują zadania zgodnie z pewnym harmonogramem. Wśród zaplanowanych działań może znaleźć się czyszczenie pamięci cache, codzienne sprawdzenie okresów subskrypcji użytkowników czy też regularne wykonywanie raportów. Niniejszy poradnik przedstawia sposób w jaki można precyzyjnie określić czas wykonania naszego skryptu php na serwerze na platformie Linux'owej.


  • Polskie znaki a MySQL

    • ustawieniu kodowania dla bazy danych,
    • ustawieniu metody porównywania napisów dla bazy danych,
    • ustawieniu kodowania dla tabeli,
    • ustawieniu metody porównywania napisów dla tabeli,
    • ustawieniu kodowania w wysyłanym nagłówku,


  • Wirtualne hosty


  • Co nowego w PHP6 - część 1

    Mimo, że do premiery pozostało jeszcze wiele czasu, warto już teraz zapoznać się ze zmianami jakie wprowadzi PHP6. Większość z nich znajdziemy także w PHP5.3 (planowana data wydania: trzeci kwartał 2008).

    Wszystkie przedstawione w artykule przykłady zostały przetestowane na PHP6 skompilowanym ze źródeł z CVS.


  • Sesja użytkownika w PHP - zagrożenia i ochrona

    Mechanizmu sesji używamy do identyfikacji i śledzenia użytkownika pomiędzy kolejnymi żądaniami HTTP. W rezultacie nie musi on podawać loginu i hasła przed obejrzeniem każdej podstrony w ramach danej witryny, a my możemy go rozpoznać, przydzielić odpowiedni zestaw uprawnień oraz odczytać specyficzne dla niego dane jak preferowany język, adres e-mail, itp. W tym celu wykorzystujemy specjalny identyfikator - przekazywany w adresie URL lub przez cookies.


  • Powszechne standardy kodowania - Czy zawsze pożyteczne?

    Celem tego artykułu nie jest negowanie przydatności powszechnie używanych standardów kodowania. Nie jest to także ich przegląd. Chciałbym raczej pokazać, że w pewnych sytuacjach naginanie niektórych reguł może przynieść wymierne korzyści.


  • XML - morze możliwości - XPath, XPointer, XInclude

    Często odbywają się dyskusje dotyczące formatu w jakim przechowywać konfiguracje aplikacji. Najczęściej wybierane sposoby to pliki INI, YAML oraz XML. Za najlepsze rozwiązanie uważam wykorzystanie XML'a.

    Główną zaletą XML jest jego popularność oraz szereg standardów które znacznie usprawniają pracę. Struktury XML są bardzo łatwo rozszerzalne poprzez XInclude. Walidację takiego pliku można bardzo szybko rozwiązać tworząc plik XSD, natomiast jeżeli potrzebujemy ładnej prezentacji zawartości, wystarczy stworzyć plik XSLT oraz napisać kilkadziesiąt linijek.


  • Algorytmy do gry Poker


  • Programowanie obiektowe dla początkujących


  • Refaktoryzacja kodu i wzorce projektowe

    • dokumentowania,
    • czytelności,
    • i przede wszystkim utrzymywania kodu.


  • Programowanie obiektowe dla początkujacych

    Wraz ze wprowadzeniem PHP w wersji piątej do ogólnoświatowego "obiegu", możliwość wykorzystania wszystkich cech i zalet programowania obiektowego wzrosła do prawie 100%. Jednakże w tym samym momencie nie wzrosły umiejętności koderów i w większości przypadków nadal programują oni strukturalnie. W artykule tym postaram się przybliżyć OOP (ang. object-oriented programming) i podać, prawie jak na tacy, podstawy oraz dobre nawyki. Jednym słowem - zachęcić Was do przejścia na "obiektówkę".


  • ACL - Jak korzystać?

    Każda aplikacja webowa, tak jak każdy plik na dysku, musi mieć ustawione uprawnienia dla konkretnych użytkowników, lub grup użytkowników. O listach kontroli dostępu ( ang. Access Control List) zapewne słyszał każdy. Jedną z prostszych implementacji takiej listy jest zwykła baza loginów i haseł dostępowych. Co zrobić, gdy jednak potrzebujemy bardziej zaawansowanego systemu kontroli dostępu? Możemy wykorzystać jedną z gotowych bibliotek, np. PHP Generic Access Control List, ale możemy także sami napisać taki system - dobrze jest wtedy wykorzystać częściowo napisane mechanizmy, na przykład pochodzący z Zend Frameworka - Zend_Acl.


  • Generowanie grafiki w PHP

    Język PHP sam w sobie nie pozwala na tworzenie czy manipulowanie grafiką, służą do tego specjalne biblioteki dostarczające zestaw odpowiednich funkcji. Najpopularniejsze z nich to GD i ImageMagick, przy czym ta pierwsza jest częściej dostępna i bardziej popularna, przez co w sieci na jej temat znaleźć można więcej materiałów. Nie są to oczywiście argumenty przemawiające za korzystaniem wyłącznie z tego rozwiązania, w tym artykule jednak skupimy się właśnie na GD i funkcjach przez nią dostarczanych. Zacznijmy może od krótkiego przedstawienia biblioteki - poniższy opis to definicja GD przedstawiana na Wikipedii:

    I to w zasadzie tyle, jeżeli kogoś interesuje krótka historia biblioteki zachęcam do zapoznania się z jej anglojęzycznym opisem.


  • Programowanie obiektowe dla początkujacych

    Od Redakcji: Artykuł został nadesłany na konkurs "Doceniamy Publicystów 2"

    Wraz ze wprowadzeniem PHP w wersji piątej do ogólnoświatowego "obiegu", możliwość wykorzystania wszystkich cech i zalet programowania obiektowego wzrosła do prawie 100%. Jednakże w tym samym momencie nie wzrosły umiejętności koderów i w większości przypadków nadal programują oni strukturalnie. W artykule tym postaram się przybliżyć OOP (ang. object-oriented programming) i podać, prawie jak na tacy, podstawy oraz dobre nawyki. Jednym słowem - zachęcić Was do przejścia na "obiektówkę".


  • ACL - Jak korzystać?

    Od Redakcji: Artykuł został nadesłany na konkurs "Doceniamy Publicystów 2"

    Każda aplikacja webowa, tak jak każdy plik na dysku, musi mieć ustawione uprawnienia dla konkretnych użytkowników, lub grup użytkowników. O listach kontroli dostępu (ang. Access Control List) zapewne słyszał każdy. Jedną z prostszych implementacji takiej listy jest zwykła baza loginów i haseł dostępowych. Co zrobić, gdy jednak potrzebujemy bardziej zaawansowanego systemu kontroli dostępu? Możemy wykorzystać jedną z gotowych bibliotek, np. PHP Generic Access Control List, ale możemy także sami napisać taki system - dobrze jest wtedy wykorzystać częściowo napisane mechanizmy, na przykład pochodzący z Zend Frameworka - Zend_Acl.


  • Generowanie grafiki w PHP

    Od Redakcji: Artykuł ten zajął pierwsze miejsce w konkursie "Doceniamy publicystów 2"

    Język PHP sam w sobie nie pozwala na tworzenie czy manipulowanie grafiką, służą do tego specjalne biblioteki dostarczające zestaw odpowiednich funkcji. Najpopularniejsze z nich to GD i ImageMagick, przy czym ta pierwsza jest częściej dostępna i bardziej popularna, przez co w sieci na jej temat znaleźć można więcej materiałów. Nie są to oczywiście argumenty przemawiające za korzystaniem wyłącznie z tego rozwiązania, w tym artykule jednak skupimy się właśnie na GD i funkcjach przez nią dostarczanych. Zacznijmy może od krótkiego przedstawienia biblioteki - poniższy opis to definicja GD przedstawiana na Wikipedii:

    GD jest biblioteką graficzną służącą do dynamicznej manipulacji obrazami. Jej głównym twórcą jest Thomas Boutell. Dzięki niej można tworzyć obrazy w formatach GIF, JPEG, PNG i BMP. GD obsługuje m.in. takie języki programowania jak C, PHP, Perl, OCaml, Tcl, Pascal czy REXX.Biblioteka jest udostępniana na zasadach Open Source.

    I to w zasadzie tyle, jeżeli kogoś interesuje krótka historia biblioteki zachęcam do zapoznania się z jej anglojęzycznym opisem.


  • Refaktoryzacja kodu i wzorce projektowe

    Od Redakcji: Artykuł został nadesłany na konkurs "Doceniamy Publicystów 2"

    Wzorce projektowe to temat szczególnie często bagatelizowany przez programistów PHP. Błędnie nie przywiązuje się wagi do kodu pisanego w języku skryptowym, jako tym, który żyje w pamięci operacyjnej przez często nie więcej niż dziesiętne sekundy.
    Przy tworzeniu aplikacji musimy zwrócić uwagę na potrzeby:

    • dokumentowania,
    • czytelności,
    • i przede wszystkim utrzymywania kodu.

    Wszystkie te elementy mają zastosowanie nie tylko w aplikacjach biznesowych, ale także w pracy przy otwartym oprogramowaniu i współpracy w zespołach programistów; w projektach, które mają być rozwijane znacznie dłużej. Praktycznie każdy przykładowy startup, świadomie czy nie, jest tworzony przy użyciu technik wytwarzania oprogramowania zwanego Agile. Projekt zmienia się cały czas: dodawane są nowe funkcjonalności, stawiane są nowe wymagania, klient albo wyobraźnia twórców w szaleńczym tempie zalewa dział techniczny tonami pomysłów. Wszystkie elementy, które pomogą nam utrzymać swego rodzaju stabilność działań produkcyjnych, zapewniają nam wzorce projektowe.
    Wzorce projektowe to nie akademickie podejście do programowania, ani wiedza tajemna. To próba opisania rozwiązań istniejących problemów. Zapoznając się z nimi nauczymy się jak pisać lepszy kod, posiadając zawsze na wyciągnięcie ręki ściągę, dobrze znaną i dostępną każdemu programiście.
    Przed rozpoczęciem porządkowania naszego kodu musimy jednak poznać podstawy programowania obiektowego. To fundament opisywanych wzorców, które wymagają przyjmowania pewnego poziomu abstrakcji. Będziemy musieli stosować jednoznaczne nazwy i określenia przy opisywaniu kodu, by skupić się przede wszystkim na opisywanych problemach. Nie uczymy się programować - dziś uczymy się jak to robić lepiej!


  • Algorytmy do gry Poker

    Od Redakcji: Artykuł ten został nadesłany na konkurs "Doceniamy publicystów 2"


  • Programowanie obiektowe dla początkujących

    Od Redakcji: Artykuł ten zajął drugie miejsce w konkursie "Doceniamy publicystów 2"


  • Oddaj swój głos na ten kanał





    Wybierz ocene