Część 2. Budujemy własny framework MVC w PHP. Front Controller i kontrolery pomocnicze

W poprzednim artykule opisałem część konfiguracyjną i inicjowanie skryptu, więc tym razem zajmiemy się wszystkimi odwołaniami, które htaccess kieruje do pliku index.php. O koncepcji modelu MVC można poczytać w Internecie więc nie będę przytaczał tu teorii związanej z tym zagadnieniem, zajmiemy sie za to implementacją tego modelu w naszym skrypcie. Jedyną ważną informacją o której warto wspomnieć to wybór „routingu” jaki nasz front controller będzie implementował. W tym przykładzie posłużę się najprostszym standardowym routingiem: URL: http://domena.pl/wartosc1/wartosc2 – oznacza, że „wartosc1″ to nasz kontroler, a (...)

Porównanie systemu szablonów PHP

Przeglądając dzienną dawkę newsów natknąłem się dzisiaj na ciekawy artykuł porównujący systemy szablonów dla PHP. Ilu programistów, tyle opinii na temat szablonów, ich wydajności i potrzeby używania ale dużo rzadziej można znaleźć te konkretne teorie i opinie poparte testami i liczbami. Poniżej wstęp do artykułu „Benchmark systemów szablonów”: [ad#post]”Twórcy wszystkich systemów szablonów zachwalają wydajność swoich rozwiązań, a po nich jadą wszyscy programiści korzystający z czystego PHP, że właśnie takie podejście jest gwarancją wydajności. Jak jest w istocie? Postanowiłem się przekonać. Przygotowałem zestaw siedmiu (...)

Budujemy własny framework MVC w PHP – Część 1 – Podstawy

Dlaczego w ogóle budować własny framework PHP skoro jest już kilka całkiem ciekawych na rynku?

W większości przypadków nie ma sensu. Choćby ze względu na to, że będzie to dodatkowy kod, który należy uaktualniać, poprawiać i łatać, kod za który będziemy odpowiedzialni. W większości przypadków wybór jednego z pośród dostępnych frameworków to lepsze rozwiązanie które zaspokoić nasze potrzeby i które zapewni nam aktualizacje, nową funkcjonalność, usprawnienia, dokumentacje i pomoc społeczności skupionej wokół projektu.

[ad#post]Czasami jednak zdarza się, że zajmujemy się na tyle specyficznymi projektami, że niektóre usprawnienia frameworków przeszkadzają i utrudniają pracę. Spędzamy wtedy mnóstwo czasu na modyfikacjach czy hackach, które lepiej sprawdzą się w naszym projekcie. W innych z kolei przypadkach projekty są na tyle proste, że cała ta funkcjonalność frameworków to po prostuzbyt wiele, to jak strzelanie do muchy z armaty. czytaj całość

Weryfikacja numeru REGON

/^[0-9]{7}$/ /^[0-9]{9}$/ /^[0-9]{14}$/ Implementacja PHP dla REGON9 function CheckREGON($str) { if (strlen($str) != 9) { return false; } $arrSteps = array(8, 9, 2, 3, 4, 5, 6, 7); $intSum=0; for ($i = 0; $i < 8; $i++) { $intSum += $arrSteps[$i] * $str[$i]; } $int = $intSum % 11; $intControlNr=($int == 10)?0:$int; if ($intControlNr == $str[8]) { return true; } return false; } (...)

Jak kontrolować CACHE przeglądarki dla plików CSS i JS?

Załóżmy że na stronie posiadamy 1 plik CSS, który aktualizujemy co miesiąc.

Mając na uwadze naszą częstotliwość aktualizacji warto aby przeglądarka zapamiętała ten plik w swoim cachu i pobrała go tylko wtedy gdy jego zawartość się zmieni, a nie za każdym razem.

Zaznaczam że ustawienia tagów ETag dla serwera Apache są wyłączone i to czytaj całość