flexix/prototype-controller-bundle

Symfony Flexix bundle

v1.4 2018-07-12 09:50 UTC

This package is not auto-updated.

Last update: 2024-05-10 10:17:36 UTC


README

We are still working on it! (so hard :))

Flexix\PrototypeControllerBundle

by Mariusz Piela mariusz.piela@tmsolution.pl

Installation

To install the bundle, add:

//composer require

"flexix/prototype-controller-bundle": "dev-master"

to your project's composer.json file. Later, enable your bundle in the app's kernel:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new FOS\RestBundle\FOSRestBundle(),
        new JMS\SerializerBundle\JMSSerializerBundle(),
        new Flexix\MapperBundle\FlexixMapperBundle(),
        new Flexix\PrototypeControllerBundle\FlexixPrototypeControllerBundle()
    );
}

Creating configuration for Controller

  1. Creaete Configuration
 parameters:    
    some_controller.config: 
        #for all actions
        base:
            allowed: true # you can put array with values xhttp or subrequest
            models:
                 get:
                        name: 'some.service.name'
                        method: someMethod
   
        actions: 
        #for 'new' action
            new:
               templates:
                    widget: 'some_template.html.twig'
               models:
                    create:
                        name: 'some.service.name'
                        method: someMethod
               form: 
                   action: new 
                   form_type: 'Some\FormTypeClass'
               redirection: 
                    route_name: filter #route name
        #for 'list' action            
            list:
                allowed: #only xhttp and subrequest possible
                        - xhttp
                        - subrequest
                templates:
                    widget: 'some_template.html.twig' 
                models:
                    list:
                        name: 'some.service.name'
                        method: someMethod
                form: 
                   form_type: 'Some\FormTypeClass'
                   action: list
                   method: GET
                adapter: 'some.adapter.service'
        #and so on ....          
  1. Create service
services:
        some_service_name:
            class: Flexix\ConfigurationBundle\Util\Configuration
            arguments: [%some_controller.config%]
            tags:
                - { name: flexix_prototype_controller.controller_configuration, applicationPath: 'some/path', entity_alias: 'entity-alias' }       

For more information read: how to start