Skip to content

bankiru/doctrine-api-bundle

Repository files navigation

Latest Stable Version Total Downloads Latest Unstable Version License

Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight

Doctrine-faced RPC Bundle

This bundle incorporates doctrine API library bankiru/doctrine-api-client

Services

This bundle provides the only public service to use - @bankiru_api.entity_manager. This service implements ApiEntityManager extends ObjectManager interface

Features

Automatic bundle metadata registration

This bundle automatically registers all bundles yaml annotations if they are stored at @BundleName\Resources\config\api location.

Client aggregation

This bundle automatically registers all services, marked with rpc_client tag into the library client registry, i.e

  bankiru_api.test.client:
    class: Bankiru\Api\Tests\TestClient
    arguments:
    - "@bankiru_api.test.client_mock"
    tags:
    - { name: rpc_client, client_name: test_client }

Profiling

This bundle enables RPC client profiling and time tracing with internal Symfony components - stopwatch and web debug toolbar.

@Todo: populate with screenshots

Cache configuration

# TTL only
api_client:
    cache:
        configuration:
            Bankiru\Api\Doctrine\Test\Entity\TestEntity: 900
# Default
api_client:
    cache:
        configuration:
            Bankiru\Api\Doctrine\Test\Entity\TestEntity:
                enabled: false
# Enabled defaults
api_client:
    cache:
        configuration:
            Bankiru\Api\Doctrine\Test\Entity\TestEntity:
                enabled: true
                ttl: ~
                extra: {}
# Extra keys would be available within API entity cache via CacheConfigurationInterface
api_client:
    cache:
        configuration:
            Bankiru\Api\Doctrine\Test\Entity\TestEntity:
                enabled: true
                ttl: 900
                extra:
                    quick_search: true