PHP nie jest idealne i od czasu do czasu pojawia się biały ekran śmierci. I nic nie pomoże error_reporting(E_ALL), dalej widzimy pusty ekran. Jedyne co pozostaje to stare dobre echo 'dupa', które trzeba umieszczać w kolejnych sekcjach kodu, szukając miejsca wystąpienia błędu.
Sam udoskonaliłem tę metodę do postaci echo 'd'. Czasami jednak potrzebowałem więcej informacji o zmiennych. Z pomocą przyszedł print_r umieszczony między znacznikami pre, co pozwalało na wyświetlanie zagnieżdżonych tablic. Jednak to nie było to, czego szukałem.
W końcu znalazłem dBug autorstwa Kwaku Otchere. W zagnieżdżonych tabelkach dBug wyświetla tablice, obiekty, xml’a. Wszystko pokolorowane zgodnie z typami danych.

Wystarczy krótki kod new dBug($yourVariable) i wszystko ładnie się wyświetla. Ponieważ mimo wszystko ten zapis był dla mnie za długi i pozostał sentyment do echo ‘dupa’. Stworzyłem pomocniczą funkcję d():
/**
* Debug
* @see echo 'dupa';
* @param mixed $var
*/
function d($var) {
new dBug($var);
}
Użycie pojedynczej litery dla nazwy funkcji kłóci się z ogólnie przyjętymi zasadami nazewnictwa, jednak w przypadku funkcji pomocniczej można zrobić wyjątek. W javascripcie również używam takiego samego strutu d(), co jest bardzo wygodne i przyspiesza pisanie kodu.
Ludzie tworzą pewne standardy, aby ułatwiać życie sobie i innym. W przypadku języków programowanie java czy php, standardy nazewnictwa i kodowania są jasno zdefiniowane (PEAR2 Standards, Zend Framework Coding standard) i wystarczy ich jedynie przestrzegać. W przypadku baz danych jest już gorzej…
Dlatego też postanowiłem wypracować standard, który będę używał w swoich projektach. Cześć rzeczy może budzić kontrowersje, dlatego bardzo liczę na waszą reakcje. Wpis ma status ‘open’ i na pewno będę wprowadzał do niego zmiany.
Podstawy
- używamy wyłącznie języka angielskiego
- nazwy piszemy małymi literami
- jako separator używamy podkreślenia
- staramy się nie używać cyfr
- używamy krótkich i samo komentujących się nazwy
czytaj dalej …
Wzorzec singleton pozwala na ograniczenie liczby egzemplarzy danej klasy do jednego. Klasa albo nie ma żadnych egzemplarzy, albo ma tylko jeden, nie więcej.
Typowym zastosowaniem tego wzorca jest sytuacja, gdy tworzenie egzemplarza klasy wiąże się z dużym kosztem. Najlepszym przykładem jest klasa komunikacji z bazą danych. Zakładająć, że będziemy się komunikować z jedną bazą danych, wykorzystanie wzorca singletona będzie najlepszym rozwiązaniem.
czytaj dalej …
Wzorce projektowe (ang. design patterns) to coś innego niż standardowe wykorzystanie tego samego kodu ponownie, to pojęcie bardziej ogólne i abstrakcyjne. Wzorce projektowe to powtórne wykorzystanie idei. Na wikipedi możemy przeczytać:
czytaj dalej …