Architecture Overview

Before we dive separately into every Openjet concept, you need to have an overview of how our main application is structured. You already know that Openjet is built from components and Symfony bundles, which are integration layers with the framework.

All bundles share the same conventions for naming things and the way of data persistence. Openjet, by default, uses the Doctrine ORM for managing all entities.

For deeper understanding of how Doctrine works, please refer to the excellent documentation on their official website.

Symfony

../../_images/symfony.png

Openjet is based on Symfony, which is a leading PHP framework to create web applications. Using Symfony allows developers to work better and faster by providing them with certainty of developing an application that is fully compatible with the business rules, that is structured, maintainable and upgradable, but also it allows to save time by providing generic re-usable modules.

Learn more about Symfony.

Sylius

../../_images/sylius.png

Sylius is the first decoupled eCommerce framework based on Symfony and Doctrine. The highest quality of code, strong testing culture, built-in Agile (BDD) workflow and exceptional flexibility make it the best solution for application tailored to business requirements.

Learn more about Sylius.

Doctrine

../../_images/doctrine.png

Doctrine is a family of PHP libraries focused on providing data persistence layer. The most important are the object-relational mapper (ORM) and the database abstraction layer (DBAL). One of Doctrine’s key features is the possibility to write database queries in Doctrine Query Language (DQL) - an object-oriented dialect of SQL.

Learn more about Doctrine.

Twig

../../_images/twig.png

Twig is a modern template engine for PHP that is really fast, secure and flexible. Twig is being used by Symfony.

Learn more about Twig.