Dealing with bundles¶
eZ Platform is based on the Symfony 3 framework and applies a similar way of organizing the app. Like in Symfony, where "everything is a bundle", your eZ Platform application is going to be a collection of bundles.
What is a bundle?¶
A bundle in Symfony (and eZ Platform) is a separate part of your application that implements a feature. You can create bundles yourself or make use of available open-source bundles. You can also reuse the bundles you create in other projects or share them with the community.
Many eZ Platform functionalities are provided through separate bundles included in the installation.
How to use bundles?¶
All the bundles containing built-in eZ Platform functionalities are installed automatically By default, a clean eZ Platform installation also contains an AppBundle where you can place your custom code.
You can see a list of other available community-developed bundles on https://ezplatform.com/Bundles. Refer to their respective pages for instructions on how to install them.
To learn more about organizing your eZ Platform project, see Best Practices.
How to create bundles?¶
You can generate a new bundle using a
generate:bundle command. See Symfony documentation on generating bundles.
How to remove a bundle?¶
To remove a bundle (either one you created yourself, or an out-of-the-box one that you do not need) see the How to Remove a Bundle instruction in Symfony doc.
Some of the key built-in bundles are:
eZ Platform kernel¶
ezpublish-kernel contains the core of the whole eZ Platform application.
EzPublishCoreBundle is contained in ezpublish-kernel.
To get an overview of EzPublishCoreBundle's configuration, run the following command-line script:
php bin/console config:dump-reference ezpublish
ezplatform-admin-ui provides the main editing and back-end interface for eZ Platform.
Repository Forms is a bundle which provides form-based interaction for the Repository Value objects.
It is currently used by:
ezsystems/platform-ui-bundlefor most management interfaces: Sections, Content Types, Roles, Policies, etc.
ezsystems/ezpublish-kernelfor user registration and user generated content
StudioUIBundle contains the Studio editing interface provided in eZ Platform Enterprise Edition.
Landing Page Field Type Bundle¶
EzLandingPageFieldTypeBundle provides the Landing Page that is at the heart of StudioUI.
You can see the bundles that are automatically installed with eZ Platform in composer.json.