czwartek, 16 października 2014

Nowy projekt - FineCMS

Tym razem napisałem od nowa frameworka MVC. Zupełnie inna architektura, całkowicie odmienione i poprawione front controller, dispatcher, router. Kod jest bardziej spójny, elegancki, łatwiejszy w zarządzaniu. Na tym frameworku postawiłem nowego CMS-a. Użyłem tu Twitter Bootstrapa do widoku oraz PDO do modelu. Poprawiłem też paginację list. Dzięki nowej architekturze udało się uprościć instalator aplikacji.

Początek był trudny. Zanim ukształtowała się obecna postać frameworka, wiele razy podchodziłem do stworzenia właściwej architektury. Gdy zaprojektowana struktura nie była do końca spójna, odbiegała choć w jednym miejscu od ustalonego standardu, albo było w niej coś, co mi się nie podobało, wtedy usuwałem dane rozwiązanie i wracałem do punktu wyjścia, próbując stworzyć rozwiązanie w inny sposób, dopóki nie powstało coś, do czego nie miałem zastrzeżeń, co było zgrabne i eleganckie. Takie podejście stosowałem wielokrotnie w trakcie całego projektu. Jednak najwięcej takich nieudanych prób było na początku, zanim nie wyłonił się ogólny schemat, którego trzeba było się potem trzymać. Wówczas kolejne rozwiązania przychodziły same, bo wynikały z istniejącej już architektury. Gdy framework stał się kompletny, można było osadzić na nim CMS-a. Tak też zrobiłem i w obecnej postaci CMS ma wszystkie podstawowe funkcjonalności. Jego rozbudowa o kolejne jest ułatwiona dzięki ustalonemu standardowi, którego wystarczy się trzymać - prowadzi on za rękę podczas tworzenia nowych funkcji.

Strona projektu: FineCMS. Zapraszam do obejrzenia.

czwartek, 16 maja 2013

Własny framework

Postanowiłem napisać własnego frameworka PHP. Zgodnie ze wzorcem projektowym MVC (Model-View-Controller). Czyli szablon aplikacji 3-warstwowej.

Moim założeniem było stworzenie jak najcieńszego frameworka, na którym można postawić stronę www. Jak najcieńszego, ale zarazem mającego walidację formularzy (wypełnienie pól, poprawność e-maila, pesela, ochrona przed SQL injection), a także generatory list, formularzy i widoków.

Dlaczego własny, a nie gotowy, np. Zend, Symfony, Code Igniter, Yii, Cake PHP, Kohana itd.? Bo wolę samemu tworzyć strukturę klas i obiektów, hierarchię i całą architekturę, czy wreszcie własny routing, niż wgryzać się od zera w nową technologię. Co prawda trochę pobawiłem się Code Igniterem czy Yii, i nawet zrobiły na mnie miłe wrażenie, ale gdy pomyślałem sobie, że obsługa złożonych zapytań do bazy miałaby się odbywać według przygotowanych schematów frameworka, zdecydowałem, że zrobię coś własnego, gdzie będę dokładnie wiedział, co i jak się odbywa. Ano, zobaczymy, co z tego wyjdzie...

Na razie rozwijam i testuję projekt na localhoście - używam WAMP-a, gdyż bardziej mi odpowiada niż XAMP - ale gdy framework będzie kompletny, udostępnię go na jednej z moich stron.

A tymczasem zachęcam do odwiedzenia mojej bieżącej strony: http://mvc.net.pl.

środa, 27 lutego 2013

Wstęp

Witam wszystkich na moim blogu! Blog ten poświęcam zagadnieniom tworzenia stron internetowych. Początkowo robiłem strony statyczne w html-u. Obecnie tworzę strony dynamiczne w oparciu o PHP i MySQL. Stało się to moją pasją i mam na tym polu pewne osiągnięcia, którymi chciałbym się z Wami podzielić.

Zapraszam na moją stronę: http://swoja-strona.eu.