Skip to content

Symfony2 / 3 bundle that enables container services to be defined as microservices

Notifications You must be signed in to change notification settings

Max101/RPCBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(EARLY ALPHA VERSION) RPC Bundle for Symfony2

MO\RPCBundle: RPC-enabled Symfony2 services from Symfony2 container

This bundle enables services defined inside the symfony container to be exposed over HTTP protocol (Controller endpoints).

This bundle enables you:

  • Define RPC-enabled classes in a service available for RPC calls
  • Define specific methods as services

Installation

    composer require mo/rpc-bundle
  • Add the bundle in your application kernel:
// app/AppKernel.php

public function registerBundles()
{
    return [
        // ...
        new MO\RPCBundle\RPCBundle(),
        // ...
    ];
}
  • Routing: you can set up custom routing or use the default one by adding the following lines in app/config/routing.yml:
rpc_bundle:
    resource: "@RPCBundle/Resources/config/routing.yml"

If you don't want to use default routing, you can use your own routes like this:

mo.rpc.run:
    path: /rpc/execute/{service}/{method}
    methods: [GET]
    defaults: { _controller: RPCBundle:RPC:run, service: null, method: null }

Usage

  1. Create a new service in the Symfony2 container and add the rpc.service
# ------------------------------------------------------------------------
# DEMO RPC Service
# ------------------------------------------------------------------------
mo.rpc.service:
    class: MO\RPCBundle\Domain\Service\Demo\DemoService
    arguments:
        - '0.0.1'
        - '@?doctrine.dbal.default_connection'
    tags:
        - { name: rpc.service }

Credits

This bundle is brought to you by Max101 and awesome contributors.

About

Symfony2 / 3 bundle that enables container services to be defined as microservices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published