East Website

Créer des sites web tout en suivant la philosophie #East programming.


Package, à utiliser avec East Foundation, pour implémenter un CMS basic pour pages dynamiques de différents types (et templates).

Ce package est également construit sur MongoDB (et Doctrine ODM) pour enregistrer tous les contenus, mais peut-être utilisé sur d'autres configurations.

Le Frontend est interopérable avec n'importe quel framework. Une interface d'administration est proposée avec Symfony 3.4+

Une implémentation avec Symfony est également proposée par défaut.

...

Fonctionnalités


MongoDb

Tous les contenus sont stockés sur MongoDb.

sf

Symfony 3.4

Utilisable avec Symfony 3.4+.

PSR-11

Interopérable avec tout framework implémentant la recommandation PSR 11.

Extendable

Grâce à Recipe, peut être complété via la configuration de la DI.

GitHub


Fork le project sur GitHub

Il est sous licence open source! Il est hébergé, développé et maintenu sur GitHub par des contributeurs comme vous.


Voir le projet sur GitHub

Exemple



<?php

//With Symfony, in the AppKernel:

use DI\Bridge\Symfony\Kernel;
use 
DI\ContainerBuilder as DIContainerBuilder;
use 
Doctrine\Common\Persistence\ObjectManager;

class 
AppKernel extends Kernel
{
    public function 
registerBundles()
    {
        
$bundles = [
            
//..
            
new Teknoo\East\FoundationBundle\EastFoundationBundle(),
            new 
Teknoo\East\WebsiteBundle\TeknooEastWebsiteBundle(),
        ];

        
//..

        
return $bundles;
    }

    protected function 
buildPHPDIContainer(DIContainerBuilder $builder)
    {
        
// Configure your container here
        
$vendorPath dirname(__DIR__).'/vendor';
        
$builder->addDefinitions($vendorPath.'/teknoo/east-foundation/src/universal/di.php');
        
$builder->addDefinitions($vendorPath.'/teknoo/east-foundation/src/symfony/Resources/config/di.php');
        
$builder->addDefinitions($vendorPath.'/teknoo/east-website/src/universal/di.php');
        
$builder->addDefinitions([
            
ObjectManager::class => \DI\get('doctrine_mongodb.odm.default_document_manager')
        ]);

        return 
$builder->build();
    }
}

//In app/config.yml
doctrine_mongodb:
  
document_managers:
    default:
      
auto_mappingtrue
      mappings
:
        
TeknooEastWebsite:
          
type'yml'
          
dir'%kernel.root_dir%/../vendor/teknoo/east-website/src/universal/config/doctrine'
          
is_bundlefalse
          prefix
'Teknoo\East\Website\Object'

//In app/security.yml
security:
  
//..
  
providers:
    
main:
      
id'teknoo.east.website.bundle.user_provider'

//In app/routing.yml
website:
  
resource'@TeknooEastWebsiteBundle/Resources/config/routing.yml'