Skip to content

Latest commit

Β 

History

History
159 lines (134 loc) Β· 10.6 KB

File metadata and controls

159 lines (134 loc) Β· 10.6 KB

Directory Structure


/

Folder / File Meaning
πŸ“ application Emvicy Framework and libraries, temporary files
πŸ“ config top config folder; gobal
πŸ“ modules ← in here you write your application code
πŸ“ public any public files like *.css, *.js
emvicy command line tool; helps to manage

/application/

Folder / File Meaning
πŸ“ cache place for caching files
πŸ“ init skeleton files and utilities
πŸ“ library Core Framework
πŸ“ log default logfile directory
πŸ“ pid default pid file directory
πŸ“ session default SessionIDs directory
πŸ“ smartyPlugins default smartyPlugin directory
πŸ“ templates_c default home for compiled smarty templates
πŸ“ vendor third party libraries installed by composer
composer.json list of third party libraries to install
composer.phar a standalone composer script

/modules/{moduleName}/

Folder / File Meaning
πŸ“ Controller Your Application Controller Classes
πŸ“ DataType Your generated DataType Classes
πŸ“ etc place for install- and config files, docs, routing and individual other stuff
πŸ“ Model Your Application Model Classes
πŸ“ Policy Your Application Policy Classes
πŸ“ templates Template files
πŸ“ Test PHPUnit Test Classes
πŸ“ View Your Application View Classes
_install.sh helper bash script to e.g. install files from modules/{moduleName}/etc/_INSTALL/ to other places
_publish.sh helper bash script to copy files from modules/{moduleName}/etc/_INSTALL/public/ to public/
.primary indicator file for primary module

/modules/{moduleName}/etc/

Folder / File Meaning
πŸ“ _INSTALL place for files to install (e.g. copy into public folder)
πŸ“ config Module's config files
πŸ“ doc place for any further Module documentation
πŸ“ event place for Event Listeners. See Registering Event Listeners
πŸ“ policy Policy Rules
πŸ“ routing Routing files
πŸ“ smartyPlugins Smarty template PlugIn files

/modules/{moduleName}/etc/config/

Folder / File Meaning
πŸ“ {moduleName}
└── πŸ“ config place for any further Module documentation
_mvc.php further MVC configs (see Module's config folder (overrides 1.), and Example)

/modules/{moduleName}/etc/config/{moduleName}/config/

Folder / File Meaning
_asset.yaml Asset Sets
_cron.php Routes to be called via cron:run
_csp.php Content-Security-Policy rules
_datatype.php Module's DataType configuration files
_db.php Database Config
_function.php functions
_menu.php Config for Menu building
_routeintervall.yaml Config for RouteIntervall
_session.php Session Rules; Where to enable & disable Session
develop.php Module's environment config file. See Example /modules/Foo/etc/config/Foo/config/develop.php

/modules/{moduleName}/templates/

Example: templates directory structure

modules/{moduleName}/
β”œβ”€β”€ templates/
β”‚Β Β  └── Frontend/
β”‚Β Β      β”œβ”€β”€ content/
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ _cookieConsent.tpl
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ _noscript.tpl
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ 404.tpl
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ index.tpl
β”‚Β Β      β”‚Β Β  └── info.tpl
β”‚Β Β      └── layout/
β”‚Β Β          β”œβ”€β”€ footer.tpl
β”‚Β Β          β”œβ”€β”€ index.tpl
β”‚Β Β          └── menu.tpl
  • You may find further Information in Topic Frontend

modules/Foo/

β”œβ”€β”€ Controller
β”œβ”€β”€ DataType
β”œβ”€β”€ Model
β”‚Β Β  β”œβ”€β”€ DB
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Collection
β”‚Β Β  β”‚Β Β  └── Table
β”‚Β Β  └── Worker
β”œβ”€β”€ Policy
β”œβ”€β”€ Test
β”‚Β Β  β”œβ”€β”€ Feature
β”‚Β Β  └── Unit
β”œβ”€β”€ View
β”œβ”€β”€ etc
β”‚Β Β  β”œβ”€β”€ _INSTALL
β”‚Β Β  β”‚Β Β  └── public
β”‚Β Β  β”œβ”€β”€ config
β”‚Β Β  β”‚Β Β  └── Foo
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ config
β”‚Β Β  β”‚Β Β      └── vendor
β”‚Β Β  β”œβ”€β”€ doc
β”‚Β Β  β”œβ”€β”€ event
β”‚Β Β  β”œβ”€β”€ policy
β”‚Β Β  β”œβ”€β”€ routing
β”‚Β Β  └── smartyPlugins
└── templates
    └── Frontend
        β”œβ”€β”€ content
        └── layout