
Ostatnio natchnęło mnie do napisania backenda podobnego do AdminGenerator jaki oferuje Symfony. Polegałby on na tym, że budujemy sobie strukturę bazy danych w formacie XML, po czym jesteśmy w stanie wygenerować z tego odpowiednie zapytanie do stworzenia bazy danych oraz formularza wraz z odpowiednim skryptem, który mógłby taką bazą zarządzać. Przykład budowy bazy danych jest następujący:
<?xml version="1.0" encoding="UTF-8" ?> <database> <table name="users" filds_prefix="user_" encoding="utf8_general_ci"> <field name="id" auto_increment="on" encoding="utf8_general_ci"> <type>int</type> <lenght>11</lenght> <default>0</default> </field> <field name="name" encoding="utf8_general_ci"> <type>varchar</type> <lenght>32</lenght> <default>unknown</default> <comment>this is an user name</comment> </field> <field name="pass"> <type>varchar</type> <lenght>32</lenght> </field> </table> </database>
Póki co to suche przemyślenia i rysowanie struktur. Ale ogólny zarys idei moge przedstawić. SimpleXML odczyta wszystkie tabele z bazy danych i przechowa je sobie jako obiekty Mapper_Table. Każde pole z tabeli zostanie zapisane i przeanalizowane przez obiekt Mapper_Field. Na podstawie zebranych informacji obiekt Mapper będzie dysponował pełnymi informacjami na temat bazy danych, co pozwoli mu prekazanie ich do wodoku i modelu w celu utworzenia/wyświetlenia zapytania oraz utworzenia formularza. Póki co mam plany w głowie, ale swoje opinie i przemyślenia już możecie przedstawiać. Z biegiem czasu będę prezentować to, co udało mi się napisać. Szeroki zakres dyskusji, obejmuje jeden z głównych korzeni mojego CMS'a, który będzie w pełni modularny.
Pozdrawiam, Athlan
