Skip to main content

Template Manager in PHP Code


Template Manager in PHP Code

Developer page

Implementation

How is the Template Manager actually implemented?

We have seen how the Template Manager is used in the mDIS for Data Entry and Data Management and mDIS for Administrators pages. We know how the GUI of the templates manager looks and how it can be used. But how does the Template Manager actually look in code?

Directories

For the codebase of the Template Manager GUI, see directory backend/components/templates/ for both

  • the tableset designer (4 .php files)
  • the forms designer (2 .php files)
  • base Classes (3 .php files)

Files in Detail

  • BaseTemplate.php
  • Component.php
  • FormTemplateField.php
  • FormTemplate.php
  • ModelTemplateBehavior.php
  • ModelTemplateColumn.php
  • ModelTemplateForeignKey.php
  • ModelTemplateIndex.php
  • ModelTemplate.php

Code Generators

For implementation details of the code generators, see directories backend/modules/api/, backend/modules/cg/, and file backend/config/web.php.

  • Forms code generator: file backend/modules/cg/generators/DISForm/Generator.php
  • Models code generator: file backend/modules/cg/generators/DISModel/Generator.php.

Extra Documents

For a detailed explanation of the structure of the PHP code generated and the 9-level class hierarchy involved, read this background document.

More about Gii, the Yii extension for code generation.

insolita/yii2-migration-generatoropen in new window: A third-party Gii extension that creates Migration Scripts for tables and models. Maintained until at least 2018. (? really important for mDIS?)

TBC