Skip to content
Jim Martens edited this page Mar 3, 2015 · 25 revisions

Cleared for editing

The goal of this page is to collect the 3rdParty dependencies of the Core Bundle and to define the public API. We will use a table for the dependencies.

Dependencies

Composer package Version/Branch Environment
symfony/symfony ~2.7 prod
twig/twig ~1.12 prod
php >=5.5 prod
doctrine/common ~2.2 prod
psr/log ~1.0 prod
friendsofsymfony/user-bundle ~1.3 prod
sonata-project/block-bundle ~2.2 prod
leafo/lessphp dev-master prod
2martens/composer-plugin dev-master prod
doctrine/data-fixtures ~1.0 dev
doctrine/orm ~2.4 dev
doctrine/mongodb-odm dev-master dev
phpunit/phpunit ~4.3 dev
squizlabs/php_codesniffer ~2.0 dev
phpmd/phpmd ~2.1 dev

Public API

Since the Core Bundle is rather huge, the definition will be split up into logical separate peaces that only communicate via public API without making any assumptions about the other end whatsoever.

ACP

Class name Description
ACPDashboardController Handles the ACP start page actions

Menu system

Class name Description
Menu Menu model
MenuManager Manages menus
MenuLocation MenuLocation model
MenuLocationManager Manages menu locations
MenuService Service for menu-related stuff
MenuController Handles the frontend menu actions
ACPMenuController Handles the ACP menu actions

Option Type system

Class name Description
OptionType OptionType model
OptionTypeDefinition OptionTypeDefinition model
OptionTypeManager Manages option types and definitions
OptionTypeService Service for option type related stuff

Option system

Class name Description
Field Represents a key value pair with a certain type
Option Option model
OptionManager Manages options
Collection A collection of elements of a certain type
OptionService Service for option-related stuff
ACPOptionController Handles the ACP option actions

User and group system

Class name Description
User User model
UserService Service for user-related stuff
Role Represents a Symfony role
Field Represents a key value pair with a certain type
GroupOption GroupOption model
Collection A collection of elements of a certain type
Group Group model
GroupManager Manages the groups and group options
GroupService Service for group-related stuff
ACPUserController Handles the user-related actions
ACPGroupController Handles the group-related actions
GroupVoter A Voter that allows if any of the user's groups allows it

Package system

Class name Description
Package Package model
PackageManager Manages packages
ComposerJSON Represents a composer.json file
Composer Interface for composer commandline
PackageService Service for package-related stuff
ACPPackageController Handles the ACP package actions

Style system

Class name Description
Style Style model
StyleManager Manages styles
StyleService Service for style-related stuff
StyleCompiler Compiles a style
StyleController Handles the style-related actions

Search system

Class name Description
Search Search model
SearchManager Manages searches
SearchService Service for search-related stuff
SearchContext Provides information about the context of the search
Collection A collection of elements of a certain type
SearchProvider Provides search functionality for a particular object type

Cronjob system

Class name Description
Cronjob Cronjob model
CronjobManager Manages cronjobs
CronjobService Service for cronjob-related stuff
CronjobCommand Cronjob console command
ACPCronjobController Handles the ACP cronjob actions

Feature type system

Class name Description
FeatureType FeatureType model
FeatureTypeManager Manages feature types
FeatureTypeService Service for feature type related stuff
ACPFeatureTypeController Handles the ACP feature type actions
FeatureTypeController Handles the render requests from templates

Clone this wiki locally