rodchyn/amf-bundle

There is no license information available for the latest version (dev-master) of this package.

Rodchyn AMFBundle

Maintainers

Details

github.com/rodchyn/AMFBundle

Source

Installs: 46

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 11

Type:symfony-bundle

dev-master 2012-07-16 20:03 UTC

This package is auto-updated.

Last update: 2024-03-29 02:33:54 UTC


README

This bundle allows you to use AMF with the Symfony2 Framework. Main features include:

  • handle incoming AMF requests and routing it to the configured services.
  • serializer to convert classes to virtual objects with the JMSSerializerBundle

Installation

Checkout a copy of the code::

git submodule add https://github.com/tecbot/AMFBundle.git src/Tecbot/AMFBundle

Then register the bundle with your kernel:

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new JMS\AMFBundle\TecbotAMFBundle(),
    // ...
);

Make sure that you also register the namespaces with the autoloader:

// app/autoload.php
$loader->registerNamespaces(array(
    // ...
    'Tecbot'              => __DIR__.'/../vendor/bundles',
    // ...
));

Note: The serializer needs the JMSSerializerBundle.

Configuration

Below is the default configuration, you don't need to change it unless it doesn't suit your needs:

tecbot_amf:
    use_serialization: false

Usage

  • All mapped services must be added to the folder "Amf" in your bundle (e.g Foo\BarBundle\Amf\FooService).
  • All public methods wich you want to access from Amf needs the "Action" suffix like controllers.

Configuring services and class mappings

tecbot_amf:
    services: # Services
        FooService: FooBarBundle:Foo # Map FooService (Actionscript alias) to Foo\BarBundle\Amf\Foo class
    mapping: # Class mapping. Map FooClassVO (Actionscript alias) to Foo\BarBundle\VO\FooClassVO
        FooClassVO: Foo\BarBundle\VO\FooClassVO

Add routing to the gateway controller

# path is "/gateway"
_tecbot_amf:
    resource: "@TecbotAMFBundle/Resources/config/routing.yml"

# or when you want a another path
amf:
    pattern: /amf
    defaults: { _controller: tecbot_amf.controller.gateway:gatewayAction }

Example App