PHP: Kategoria poświęcona w całości technologiom server-side, a w szczególności PHP. Uwaga: starsze wpisy o tej tematyce znaleźć można także w "Programowaniu", ponieważ ta kategoria jest relatywnie nowa.
PHP: Kategoria poświęcona w całości technologiom server-side, a w szczególności PHP. Uwaga: starsze wpisy o tej tematyce znaleźć można także w "Programowaniu", ponieważ ta kategoria jest relatywnie nowa.
Trac to jeden z najpopularniejszych otwartych systemów zarządzania projektem. Posiada wbudowany bugtracker, przeglądarkę repozytorium SVN oraz system wiki. W większości przypadków jest to zupełnie wystarczające, ale system ma też kilka wad. Inne systemy kontroli wersji obsługiwane są wyłącznie poprzez wtyczki, składnia wiki jest według wielu osób okropna, a ponadto może wystąpić problem z hostingiem, jako że całość napisana jest w Pythonie.
Najpopularniejsze frameworki od kilku miesięcy nie mają u mnie zbyt dobrej opinii głównie za sprawą wciskania ludziom pod nazwą MVC czegoś, co z MVC ma niewiele wspólnego. Znajomy polecił mi jednak ostatnio młody i mało znany w Polsce framework o niecodziennej nazwie Yii, reklamujący się jako wydajna, a przy okazji wciąż funkcjonalna alternatywa dla "kobyłek". Mnie jednak zainteresowała jeszcze jedna rzecz... Od razu uprzedzę, że wpis ten nie jest dokładną analizą, gdyż zacząłem w nim programować raptem półtora tygodnia temu. Zamierzam tu raczej przedstawić moje pierwsze wrażenia.
Ostatnio w wolnych chwilach trochę zastanawiałem się, jak mógłby wyglądać następca PHP. Nie chodzi mi o jakieś mityczne PHP 7, ale o zwyczajne wzięcie się i zaprojektowanie tego języka od zera, na wstępie wyrzucając wszystkie irytujące niedociągnięcia. W tym wpisie chciałbym podzielić się wynikami tego eksperymentu myślowego.
PHP 5 posiada dość dużo narzędzi służących do parsowania dokumentów XML. Chociaż posiadają one różne API, zbudowane są na bazie jednej i tej samej biblioteki, dlatego bez trudu możemy przełączać się między nimi. Dla większości programistów najlepszym wyjściem będzie SimpleXML oraz bardziej rozbudowany DOM, jednak wciąż zdarzają się sytuacje, gdy nie chcemy dostać zwykłego obrazu dokumentu w pamięci, lecz przejąć kontrolę bezpośrednio nad procesem parsowania. Ten wpis poświęcony będzie temu zagadnieniu oraz rozszerzeniu XMLReader.
W ostatnich dniach witryna Smarty.net dosłownie zalewała nas kolejnymi wydaniami beta bilioteki Smarty 3, następcy systemu szablonów Smarty. Korzystając z chwili wolnego czasu, postanowiłem przyjrzeć mu się bliżej i ocenić, czy autorzy faktycznie czegoś się nauczyli przez ostatnie lata, bo - nie ukrywajmy - Smarty 2 to jeden z gorszych istniejących systemów szablonów, który żyje jedynie dzięki swej nieuzasadnionej popularności.
W tym wpisie pragnę przedstawić kilka użytecznych rozwiązań dla programistów korzystających z biblioteki Open Power Template. Posiada ona wiele narzędzi ogólnego przeznaczenia, których zastosowanie w tworzeniu np. systemu stronicowania może nie być takie oczywiste na pierwszy rzut oka. Zapraszam do lektury.
Od otwartych CMS-ów w PHP trzymam się zazwyczaj z daleka, gdyż nie mam zbyt dobrego zdania o jakości ich kodu. Tak się jednak złożyło, że ostatni projekt musiałem realizować w oparciu o popularny system Joomla! w związku z czym miałem okazję poznać go bliżej i dokładnie zweryfikować jego budowę. Niestety, moje obawy okazały się uzasadnione. Gotowy CMS nie tylko specjalnie nie pomógł, ale w wielu miejscach wręcz utrudnił zadanie jego dostosowania. Przy okazji nie obyło się bez kilku hacków.
Tydzień temu ukazał się PHPUnit 3.4.0, który wprowadza kilka bardzo użytecznych nowości. Docenią je w szczególności osoby, które mają do przetestowania złożone, obiektowe interfejsy i borykają się z problemem odpowiedniej izolacji testów oraz wpływania na zmienne statyczne, czyli stany globalne aplikacji, które testuje się bardzo ciężko.
Standard kodowania znaków Unicode zdobywa coraz większą popularność, co sprawia, że coraz więcej programistów pragnie go wykorzystywać również w swoich aplikacjach internetowych. Do tej pory poważnym problemem języka PHP był niemal całkowity brak wsparcia dla tego systemu. Pełne wdrożenie Unicode planowane jest na wersję 6.0, jednak już w wersji 5.3 otrzymaliśmy sporą część dodatkowego API, dzięki któremu wiele operacji staje się możliwych już teraz. W tym cyklu wpisów przyjrzymy się im bliżej.
Wraz ze wzrostem złożoności tworzonego systemu pojawia się problem jego należytego przetestowania. W obliczu dużej liczby zależności między komponentami, ręczne sprawdzanie wyników działania nie wchodzi w grę, chociażby z uwagi na uciekający czas. Rozwiązaniem są testy automatyczne. W przypadku PHP, jednym z najlepszych pakietów do testowania jest PHPUnit wzorowany na javowym JUnit. W tym wpisie pragnę opisać, jak można zbudować środowisko do testowania naszego projektu.