You are browsing upcoming documentation for version 6.0 of OroCommerce, OroCRM, and OroPlatform, scheduled for release in 2024. Read version 5.1 (the latest LTS version) of the Oro documentation to get up-to-date information.
See our Release Process documentation for more information on the currently supported and upcoming releases.
Application Framework functionality is part of OroPlatform that determines the structure of the Oro application (code organization, file structure, application flow routine) and the way of interaction between independent components in the application.
In this section, you’ll find a description of the main principles for organizing your adjustments to Oro applications.
How It Works
Application Framework functionality in OroPlatform is based on the Symfony Framework and extends it in the OroPlatformBundle and OroDistributionBundle to improve several aspects of development experience.
Please refer to the Architecture Principles of Oro Applications article for the synopsis of structural aspects of the Oro applications:
- Symfony Role in OroPlatform
- HTTP Request Application Flow
- Event System
- Inversion of Control Principle
- Bundle System
- Application Directory Structure
- Application Configuration
- Templating System
- Security System (Data Access Management)
- Databases Management (Doctrine ORM)
- CLI Application
- List of Symfony Components Used in Oro Applications
If you want to adjust Oro application functionality, the first step to organizing your changes should always be to Prepare Your Custom Application:
Next steps depend on whether you’re going to Create a New Functionality or Change an Existing Functionality.
Finally, if you’re ready to pack and share your adjustments to the Oro application, you can Create and Publish an Extension to the Oro Extensions Store.
Prepare Your Custom Application
Create a Custom Application
Please see the Create Custom Oro Application cookbook article.
Create a New Bundle
Please see the How To Create New Bundle article.
Create a New Functionality
Please see the basic example on how to create a new functionality in the Create a Simple CRUD article.
Change an Existing Functionality
If you want to change the existing behavior of the Oro application, please refer to the Oro Application Customization section of the Architecture Guide for the guidance.
Create and Publish an Extension
If you are ready to publish your adjustment in the Oro application for free or paid usage of community members, see the How to Add an Extension to the OroPlatform Extensions Store article for the details on how to do this.
Are you looking for digital transformation examples in manufacturing? Discover business cases and digitization success stories in our article.