Webmaster: tworzeniem stron internetowych zajmuję się już od pewnego czasu. Tutaj znajdują się wpisy dotyczące moich projektów, odkryć oraz systemy szablonów Open Power Template.
Webmaster: tworzeniem stron internetowych zajmuję się już od pewnego czasu. Tutaj znajdują się wpisy dotyczące moich projektów, odkryć oraz systemy szablonów Open Power Template.
Dostałem dziś od Slumpa adres rozmowy na forum php.pl dotyczącej systemów szablonów. Ludzie słusznie krytykowali Smarty'ego za zbytnie zbliżenie się do języka programowania, ale dostało się też mojemu OPT. Z tym, że chyba niesłusznie. Ale w sumie do tego musiało dojść... raz, że nigdy nikt nie dogodził jeszcze wszystkim, a dwa - z takimi informacjami, jakie podałem, dość łatwo można wysnuć błędne wnioski.
Dzisiaj komputer jest już względnie sprawny, więc zabrałem się za zaimplementowanie w Open Power Template optymalizacji zaproponowanej przez Deyv'a. Dotyczy ona instrukcji {include} umieszczanych w pętlach. Wbrew pozorom do przyspieszenia jest tutaj sporo rzeczy. Przede wszystkim normalnie za każdym wywołaniem wykonywana jest pewna ilość operacji dyskowych sprawdzających, czy oryginalny szablon nie uległ zmianie i czy nie trzeba go rekompilować. W teorii, jeżeli raz to sprawdziliśmy, powtarzanie testu kolejne n razy jest zbędne.
Nie wiem, kto układał specyfikację CSS'a. Nie wiem, kto ją zatwierdzał. Wiem tyle, że ten ktoś miał jakieś zapędy masochistyczne, szczególnie by zalecić robienie szaty graficznej w 100% na CSS. Otóż poszedłem wreszcie za namową brata i postanowiłem tak właśnie zrobić z layoutem do strony szkoły (jak nowoczesność, to nowoczesność). Początkowo rzeczy szły całkiem dobrze. Dodałem logo, wyświetliłem panel boczny. Dalej zaczęły się schody.
Przyszła pora na wrzucenie na Webcity kolejnego artykułu. Zajrzałem zatem do mojej skrzynki gotowych, acz nieopublikowanych prac i wyciągnąłem tłumaczenie artykułu p. Jean-Luc Davida: "Korzystanie i tworzenie usług WWW przy pomocy PHP", które wykonałem prawie rok temu. Po małej korekcie i odświeżeniu tekst został opublikowany.
Dzisiaj przyszedł czas na ostateczne posprzątanie śmieci z tworzonej dokumentacji OPT. Ustaliłem ogólnie jej kształt, dopisałem kilka rozdziałów i teraz patrzę, ile jeszcze roboty przede mną. Całość przygotowuję w DocBook + DocBook XSL Stylesheet + PHP do składania wszystkiego do kupy.
Stat.pl oferuje trzy rodzaje znakomitego systemu statystyk. Dwa z nich są płatne, natomiast jeden, wykorzystywany na tej stronie - nie. Tradycyjnie wersja darmowa ma najmniej opcji, aczkolwiek do codziennych zastosowań najczęściej wystarcza. Przeszkadzać może jedna rzecz - brak blokowania niektórych adresów IP. Może to prowadzić do zafałszowania wyników, jeśli sami odwiedzamy naszą stronę dość często. W Dziennikach ominąłem jednak ten kłopot poprzez PHP.
W dziale "Artykuły" zamieściłem artykuł przeznaczony dla programistów PHP i MySQL. Opisuje on tajniki konfiguracji MySQL 4.1, a konkretniej ustawień systemów kodowań i porównań tak, aby wszystko działało. Szczególnie polecam go osobom chcącym oprzeć swój serwis WWW na kodowaniu Unicode, gdyż to właśnie w oparciu o niego stworzone zostały przykłady. Wszystko oparłem o własne doświadczenia wynikłe z tworzenia Dzienników zyxowych, zatem skoro tu działa, u Was też powinno :).
Twórcy MySQL'a wysłuchali próśb programistów i w wersji 4.1 wprowadzili obsługę stron kodowych oraz systemów porównań. Pomysł jest znakomity, bowiem wreszcie baza może samodzielnie posortować teksty, uwzględniając nasze (i nie tylko) znaki narodowe. Wcześniej programiści stosowali karkołomne sztuczki polegające na zamianie "ł" na np. "LZZ" itd. Sytuacja wygląda pięknie, lecz na tym idealnym obrazie pojawiają się pewne skazy. Mianowicie wszystko trzeba sobie samemu poustawiać, a to z kolei co poniektórych może przyprawić o chęć samobójstwa :).
Zaledwie pięć miesięcy dosyć nieregularnej pracy wystarczyło, by stworzyć system szablonów mogący śmiało konkurować ze Smarty'm. Zadziwia mnie to do dziś :). Przed przystąpieniem do prac zdawało mi się, że zadanie to będzie trudne; nachodziły mnie nawet myśli: porywasz się z motyką na słońce. Zbliża się czas wydania wersji 0.2.0 i aż śmiać mi się chce z tych obaw; praktycznie żadna się nie sprawdziła. Otóż gdy się bliżej wgryźć w parsery, okaże się, że są to skrypty o dość prostej i logicznej konstrukcji. Wcale nie ma tu wielu skomplikowanych algorytmów. Zmysł wyobraźni i zdolność do łączenia mniejszych klocków w działający mechanizm to elementy kluczowe.
Do trybu "safe mode" nie przywiązywałem dotychczas większej wagi. Wiedziałem, że takie coś jest i w imię bezpieczeństwa czasem utrudnia wykonywanie niektórych operacji PHP. W ostatnim tygodniu mój respekt dla tych czterech dyrektyw konfiguracyjnych niepomiernie wzrósł. Otóż na szkolnym serwerze było sobie zainstalowane PHP, do którego dostęp mieli wszyscy uczniowie na własnych kontach. Była to muzealna już wersja 4.2.3, zainstalowana tam przed paru laty. Oczywiście jej istnienie odkryłem już na pierwszych zajęciach, testując możliwości mojego konta. Sądziłem, że dane na nim umieszczane są bezpieczne przed oczami innych. I na pierwszy rzut oka była to prawda. Unixowy serwer, osobne uprawnienia dla każdego użytkownika itd.