$ composer require cellulr/engine-bundle:dev-features/v3
<?php
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Dunglas\ActionBundle\DunglasActionBundle(),
new Rf\CellulR\EngineBundle\EngineBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
// ...
$bundles[] = new Rf\CellulR\GeneratorBundle\GeneratorBundle(); // <--- Optionnel
$bundles[] = new Rf\CellulR\DocBundle\DocBundle(); // <--- Optionnel
}
// ...
}
// ...
}
Voici la configuration par défaut. Vous pouvez la surcharger dans le fichier app/config/config.yml
.
# app/config/config.yml
cellulr_engine:
root_dir: '%kernel.root_dir%/../src' #default dir
L'option root_dir
définit le répertoire où sont/seront situés les Cells. Il est relatif au répertoire /src
du full stack framework de Symfony.
Pour pouvoir utiliser les Cells, l'application doit connaître les routes fournies par l'EngineBundle en accord avec sa configuration. Vous pouvez importer ces routes dans la configuration de routage de l'application :
# app/config/routing.yml
engine_bundle:
resource: .
type: component
Pour créer l'arborescence des Cells:
- Vous pouvez installer le bundle de génération de Cells (GeneratorBundle) et vous référer à sa documentation.
- Ou vous pouvez la créer comme suit dans le répertoire
root_dir
que vous aurez choisi:
/CoreObject
.... /Component
.... /Page
/Cell
.... /Component
.... /Page
Une Cell est composé de :
- Un Core Object qui correspond à l'Action appelée lors de l'utilisation de la Cell
- Son corps regroupant la partie templating et assets
Elle se caractérise par un type:
- Page: comme son nom l'indique elle représente une page accessible depuis le navigateur
- Component: elle représente une fonctionnalité implémentée au sein d'une page
Vous pouvez vous référer aux documentations suivantes pour créer votre première Cell:
Pour mieux comprendre les rouages du système, référez vous au charts suivants: