ASISG
Gy - php framework/CMS | Документацыя | Модули
Модули (в понимании gy framework)
Модули нужны что бы отделить классы, компоненты, страницы админки относящиеся к одним структурам данных, т. е. их можно выделить в логические части куски gy framework.
Реализован класс module (методы комментированы) который позволяет работать с модулями, подключать нужные, отслеживать текущие подключённые и связывать компоненты с модулями.
Модули находятся в /gy/modules/<имя модуля>/
. У модулей согласована такая структура (это разделы и файлы в разделе модуля):
/component/
- тут хранятся компоненты относящиеся к данному модулю;/classes/
- классы относящиеся к данному модулю;/admin/
- страницы админки относящиеся к данному модулю;/install/installDataBaseTable.php
- файл для установки части базы данных связанной с этим модулем;/init.php
- файл инициализации модуля, тут описано какие компоненты, классы, страницы админки заданы в этом модуле и название модуля.
Особенности
- Разрабатывая новые модули разработчик должен придерживаться заданной структуры (правдивость заданного в init.php на совести разработчиков модуля ).
- Все имеющиеся модули подключаются при подключение gy framework (все модули находящиеся в указанной директории).
- Работа с компонентами модуля, вызов компонента и работа с классами модуля осуществляется также как если бы классы были в стандартной папке
/gy/classes/
а компоненты в/gy/components/
. - Обращаться к страницам модуля админ панели, можно через файл
/gy/admin/get-admin-page.php?page=<имя страницы>
, не указывая конкретный модуль, просто имя страницы + если нужны необходимые параметры для неё. - Имена компонентов, классов, страниц админки должны быть уникальными, между всеми модулями и всеми фйлами проекта.
- Файл установки, консольный
/gy/modules/<имя модуля>/install/installDataBaseTable.php
и будет запущен во время работы/gy/install/installDataBaseTable.php
(запускается при установке gy framework ), а точнее будет произведена установка частей базы данных связанных с всеми имеющимися модулями.
На данный момент реализованы модули:
containerdata
- для работы с контейнерами данных ;filemodule
- для работы со страницами сайта.