Skip to content

Latest commit

 

History

History
106 lines (80 loc) · 2.9 KB

README.md

File metadata and controls

106 lines (80 loc) · 2.9 KB

Getting started: EngineBundle

Télécharger le bundle

$ composer require cellulr/engine-bundle:dev-features/v3

Activer le bundle

<?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
        }
        // ...
    }

    // ...
}

Configurer le bundle

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.

Importer la configuration de Routage

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

Créer l'arborescence

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

Les Cells

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:

Charts

Pour mieux comprendre les rouages du système, référez vous au charts suivants: