Application and its main components
The application workflow can be divided into several key stages:
- The application receives a request
- Routing determines the controller of the module/add-on responsible for its processing
- The controller method generates a response
The application works in several modes:
- Frontend - the visible part of the pages available to website users
- Admin panel - the administrator panel
- Cron Manager - background processes servicing the application
In the framework, an application is understood as a class named bff
.
This class is the connecting and key element in the interaction of all framework components:
- Modules
- Add-ons: plugins and themes
- Processing incoming request parameters
- Handling errors and logging
- Working with the database
- Working with the session and security methods
- Working with email and other notifications
- Localization
- Settings
All application components can be conditionally divided into several main types:
- Class - a base class, usually an autonomous utility class.
-
Component - a class that inherits the base class
Component
and often includes several files, templates, and a model. - Module - a group of files responsible for a separate section of the application and having a certain structure, controllers, a model, and templates.
- Plugin - an extension of the application that implements additional functions.
- Theme - an extension of the application responsible for the appearance of the entire application.
For a more detailed description of the directory and file structure, as well as a list of the main components, please refer to this article.