parameters:
    cachetool.class: CacheTool\CacheTool
    cachetool.adapter.cli.class: CacheTool\Adapter\Cli
    cachetool.adapter.fastcgi.class: CacheTool\Adapter\FastCGI
    cachetool.proxy.php.class: CacheTool\Proxy\PhpProxy
    cachetool.proxy.apc.class: CacheTool\Proxy\ApcProxy
    cachetool.proxy.opcache.class: CacheTool\Proxy\OpcacheProxy

services:
    cachetool:
        class: %cachetool.class%
        arguments: [@cachetool.default_adapter]
        calls:
            - [addProxy, [@cachetool.proxy.php]]
            - [addProxy, [@cachetool.proxy.apc]]
            - [addProxy, [@cachetool.proxy.opcache]]

    # Adapters

    cachetool.adapter.cli:
        class: %cachetool.adapter.cli.class%

    cachetool.adapter.fastcgi:
        class: %cachetool.adapter.fastcgi.class%
        arguments: [%cachetool.adapter.fastcgi.connection%]

    # Proxies

    cachetool.proxy.php:
        class: %cachetool.proxy.php.class%

    cachetool.proxy.apc:
        class: %cachetool.proxy.apc.class%

    cachetool.proxy.opcache:
        class: %cachetool.proxy.opcache.class%

parameters:
    cachetool.class: CacheTool\CacheTool
    cachetool.adapter.cli.class: CacheTool\Adapter\Cli
    cachetool.adapter.fastcgi.class: CacheTool\Adapter\FastCGI
    cachetool.proxy.php.class: CacheTool\Proxy\PhpProxy
    cachetool.proxy.apc.class: CacheTool\Proxy\ApcProxy
    cachetool.proxy.opcache.class: CacheTool\Proxy\OpcacheProxy

services:
    cachetool:
        class: %cachetool.class%
        calls:
            - [setAdapter, [@cachetool.default_adapter]]
            - [addProxy, [@cachetool.proxy.php]]
            - [addProxy, [@cachetool.proxy.apc]]
            - [addProxy, [@cachetool.proxy.opcache]]

    # Adapters

    cachetool.adapter.cli:
        class: %cachetool.adapter.cli.class%

    cachetool.adapter.fastcgi:
        class: %cachetool.adapter.fastcgi.class%
        arguments: [%cachetool.adapter.fastcgi.connection%]

    # Proxies

    cachetool.proxy.php:
        class: %cachetool.proxy.php.class%

    cachetool.proxy.apc:
        class: %cachetool.proxy.apc.class%

    cachetool.proxy.opcache:
        class: %cachetool.proxy.opcache.class%

Call setAdapter instead of constructor
Call setAdapter instead of constructor
