CRUDlex\ServiceProvider¶
-
class
ServiceProvider
¶ The ServiceProvider setups and initializes the whole CRUD system. After adding it to your Silex-setup, it offers access to {@see AbstractData} instances, one for each defined entity off the CRUD YAML file.
-
property
manageI18n
¶ protected
Holds whether we manage the i18n.
-
readYaml
($fileName)¶ Reads and returns the contents of the given Yaml file. If it goes wrong, it throws an exception.
Parameters: - $fileName (string) – the file to read
Returns: array the file contents
-
initMissingServiceProviders
(Container $app)¶ Initializes needed but yet missing service providers.
Parameters: - $app (Container) – the application container
-
initLocales
(Container $app)¶ Initializes the available locales.
Parameters: - $app (Container) – the application container
Returns: array the available locales
-
initChildren
()¶ Initializes the children of the data entries.
-
getLocaleLabels
($locales, $crud)¶ Gets a map with localized entity labels from the CRUD YML.
Parameters: - $locales (array) – the available locales
- $crud (array) – the CRUD entity map
Returns: array the map with localized entity labels
-
configureDefinition
(EntityDefinition $definition, $crud)¶ Configures the EntityDefinition according to the given CRUD entity map.
Parameters: - $definition (EntityDefinition) – the definition to configure
- $crud (array) – the CRUD entity map
-
createDefinition
(Container $app, $locales, $crud, $name)¶ Creates and setups an EntityDefinition instance.
Parameters: - $app (Container) – the application container
- $locales (array) – the available locales
- $crud (array) – the parsed YAML of a CRUD entity
- $name (string) – the name of the entity
Returns: EntityDefinition the EntityDefinition good to go
-
validateEntityDefinition
(Container $app, $entityDefinition)¶ Validates the parsed entity definition.
Parameters: - $app (Container) – the application container
- $entityDefinition (array) – the entity definition to validate
-
init
(DataFactoryInterface $dataFactory, $crudFile, FileProcessorInterface $fileProcessor, $manageI18n, Container $app)¶ Initializes the instance.
Parameters: - $dataFactory (DataFactoryInterface) – the factory to create the concrete AbstractData instances
- $crudFile (string) – the CRUD YAML file to parse
- $fileProcessor (FileProcessorInterface) – the file processor used for file fields
- $manageI18n (boolean) – holds whether we manage the i18n
- $app (Container) – the application container
-
register
(Container $app)¶ Implements ServiceProviderInterface::register() registering $app[‘crud’]. $app[‘crud’] contains an instance of the ServiceProvider afterwards.
Parameters: - $app (Container) – the Container instance of the Silex application
-
getData
($name)¶ Getter for the {@see AbstractData} instances.
Parameters: - $name (string) – the entity name of the desired Data instance
Returns: AbstractData the AbstractData instance or null on invalid name
-
getEntities
()¶ Getter for all available entity names.
Returns: string[] a list of all available entity names
-
getTemplate
(Container $app, $section, $action, $entity)¶ Determines the Twig template to use for the given parameters depending on the existance of certain keys in the Container $app in this order:
crud.$section.$action.$entity crud.$section.$action crud.$section
If nothing exists, this string is returned: “@crud/<action>.twig”
Parameters: - $app (Container) – the Silex application
- $section (string) – the section of the template, either “layout” or “template”
- $action (string) – the current calling action like “create” or “show”
- $entity (string) – the current calling entity
Returns: string the best fitting template
-
isManagingI18n
()¶ Gets whether CRUDlex manages the i18n system.
Returns: boolean true if CRUDlex manages the i18n system
-
setLocale
($locale)¶ Sets the locale to be used.
Parameters: - $locale (string) – the locale to be used.
-
getLocales
()¶ Gets the available locales.
Returns: array the available locales
-
property