Pierwsze kody Mog'a
• tech • 368 słów • 2 minuty czytania
Kod Mog’a pomału się rozrasta :)
A tak mówiąc szczerze to chyba prawie nic wielkiego jeszcze nie ma. No może opró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ż jest bardzo prosty, można rzec, że aktualnie to tylko takie obiektowe opakowanie dostępowego API na PHP-owego SQL-a.
Ideą była prostota i szybkość działania, bez zbędnego ładowania obecnie nie potrzebnych funkcji i bajerów, które tylko zamulają działanie, a mogą się nigdy 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 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…
Komentarze (0)