Dotkernel API follows the PSR-4 standards.
It is a good practice to standardize the file structure of projects.
When using DotKernel API the following structure is installed by default:
bin
- executable files from CLIconfig
- various configuration filesdata
- should contain project-related data (AVOID storing sensitive data on VCS)documentation
- should contain project-related documentationlog
- storage of log files generated by dot-error-log librarypublic
- publicly visible files. The webserver need to have this folder as www-document root folder.src
- should contain the source code filestest
- should contain the test files.github
- containes workflow files.laminas-ci
- contains laminas-ci workflow filessrc
directoryThis directory contains all source code related to the Module. It should contain following directories, if they’re not empty:
The above example is just some of the directories a project may include, but these should give you an idea of how the structure should look like.
Other classes in the src
directory may include InputFilter
, EventListener
, Helper
, Command
, Factory
etc.
The src
directory should also contain 2 files:
ConfigProvider.php
- Provides configuration dataRoutesDelegator.php
- Module main routes entry filetemplates
directoryThis directory contains the template files, used for example to help render e-mail templates.
DotKernel API uses twig as Templating Engine. All template files have the extension .html.twig
data
directoryThis directory contains project-related data (such as cache, file uploads)
We recommend using the following directory structure:
data/cache
- location where caches are storeddata/oauth
- encryption, private and public keys needed for authentication.data/doctrine
- fixtures and migrationsdata/lock
- lock files generated by dotkernel/dot-cli
See more