Pierwsze kody Mog’a

Kod Mog'a pomału się rozrasta :)

A tak mówiąc szczerze to chyba prawie nic wielkiego jeszcze nie ma. No może prócz tych kilku podstawowych klas, które będą wykorzystywane przeze mnie także w innych projektach.

Mowa tutaj głównie o sterowniku sql-a i parserze template-a. Obie są bardzo proste i posiadają tylko te funkcje/metody, jakie mi są aktualnie potrzebne, czyli totalny minimalizm.

System szablonów pewnie się z czasem rozbuduje. Na razie obsługuje tylko pojedyncze zmienne i bloki, ale kiedyś trzeba będzie pomyśleć o warunkach lub nieco inaczej rozwiązać bloki, aby posiadały także funkcjonalność warunkowego przetwarzania. Póki co nie jest mi to potrzebne, więc nie ma co za dużo kombinować w tym temacie.

Sterownik do bazy też bardzo prosty, można rzec, że aktualnie to tylko takie obiektowe opakowanie dostępowe API na PHP-owego SQL-a.

Ideą była prostota i szybkość działania, bez zbędnego ładowania obecnie nie potrzebnych i nie wykorzystywanych funkcji oraz bajerów, które tylko zamulają działanie, a mogą się nigdy i tak nie przydać. At takie minimalne wymagane funkcjonalności.

Jest też już główna klasa zarządzająca instancjami pozostałych klas (engine). Potrafi też inicjować połączenie z SQL-em oraz dostarczyć informacje o czasie generowania strony oraz ilości użytych zapytań do bazy. A do tego obsługuje już konfigurację z pliku .ini, na razie tylko read-only. Zapis pewnie i tak będzie gdzieś indziej...

Z zewnętrznych klas (które będzie można wykorzystać gdzieś indziej, w innych projektach) potrzebne jest coś do walidacji danych oraz pobierania danych od użytkownika (czyli z $_GET, $_POST ...) z zabezpieczeniem przed SQL Injection i XSS.

Do walidacji może uda mi się coś dziś samemu napisać. A nad HttpVars-em dosyć długo myślałem i kombinowałem, bo chciałem coś swojego zaprojektować. Na razie jednak ograniczam się do wykorzystania klasy getGPC napisanej przez MySZa.

Klasa ta jest singletonem, co trochę komplikuje mi konstrukcję, bo Engine przechowuje wszystkie instancje "singletonów", dzięki czemu mogę łatwo mieć do nich dostęp z każdego zakamarka kodu. Z drugiej jednak strony, nie będzie (chyba) potrzebny do niej dostęp z innych miejsc, bo i tak muszę najpierw sprawdzić/przewalidować dane od niej pobrane, nim zostaną wrzucone do bazy lub przekazane gdzieś dalej.

Dużo może tego jeszcze nie ma, ale jak już wspominałem Mog jest tworzony w wolnych chwilach, a tych niestety jest mało. Równolegle pracuję też nad innymi rzeczami i projektami...

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *