PHPackages                             kglogowski/client-server-communication - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. kglogowski/client-server-communication

ActiveSymfony-bundle[HTTP &amp; Networking](/categories/http)

kglogowski/client-server-communication
======================================

Library to communication between client and server

2.0.0(6y ago)1181MITPHPPHP &gt;=7.2.0

Since Nov 26Pushed 6y ago1 watchersCompare

[ Source](https://github.com/kglogowski/client-server-communication)[ Packagist](https://packagist.org/packages/kglogowski/client-server-communication)[ RSS](/packages/kglogowski-client-server-communication/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (16)Versions (12)Used By (0)

Installation
------------

[](#installation)

1. Run command: `composer require kglogowski/client-server-communication "@dev"`
2. Add to Kernel:

    ```
            $bundles = [
                ...
                new CSC\CSCBundle(),
                new JMS\SerializerBundle\JMSSerializerBundle(),
                new FOS\RestBundle\FOSRestBundle(),
            ];
    ```
3. Configure your config.yml

    ```
        fos_rest:
           routing_loader:
               default_format: json
               include_format: true
           param_fetcher_listener: force
           body_listener: true
           allowed_methods_listener: true
           view:
               view_response_listener: 'force'
               formats:
                   json: true
           exception:
               enabled: true
               exception_controller: 'csc.rest.controller.exception:showAction'
           format_listener:
               rules:
                   - { path: '^/', priorities: ['json'], fallback_format: json, prefer_extension: false }
           service:
               view_handler: fos_rest.view_handler.default
    ```
4. Configure route

    ```
    #Example pager
    admin.invoice.pager:
        path:     /invoices
        methods:  [GET]
        defaults:
            _controller: "InspectorBundle:Invoice:pager"
            entityName: 'InspectorBundle\Entity\Invoice\Invoice'
            methodName: 'listInvoice'
            availableFilter: ['partner','created_at','payment_deadline_at','sold_at','delivery_at']
            sortAvailable: ['partner','created_at','payment_deadline_at','sold_at','delivery_at']

    #Example post
    admin.invoice.post:
        path:     /invoices
        methods:  [POST]
        defaults:
            _controller: "InspectorBundle:Invoice:post"
            entityName: 'InspectorBundle\Entity\Invoice\Invoice'
            validation: ['Post']
            insertable: ['partner_id','campaigns','delivered_at','sold_at','description','name','vat','days_to_pay']

    #Example put
    admin.invoice.put:
        path:     /invoices/{id}
        methods:  [PUT]
        requirements:
            id: '\d+'
        defaults:
            _controller: "InspectorBundle:Invoice:put"
            entityName: 'InspectorBundle\Entity\Invoice\Invoice'
            validation: ['Put']
            updatable: ['delivered_at','sold_at','description','name','vat','days_to_pay']

    #Example custom processor
    admin.invoice.bulk-pay:
        path:     /invoices/bulk-pay
        methods:  [PUT]
        defaults:
            _controller: "InspectorBundle:Invoice:bulkPay"
            entityName: 'InspectorBundle\Entity\Invoice\Invoice'
            requestProcessor: 'InspectorBundle\Server\Processor\Request\InvoicePayProcessor' #Service
    ```
5. Configure security.yml:

    ```
    #Example
    security:
        encoders:
            AppBundle\Entity\User:
                id: csc.rest.security.encoder.password

        providers:
            user_token:
                entity:
                    class: AppBundle:User\User
                    property: login
            user:
                id: app.rest.security.provider.token_user
        firewalls:
            dev:
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false

            user_token:
                pattern: ^/v1/auth/token$
                provider: user_token
                guard:
                    authenticators:
                        - app.rest.security.authenticator.credential
            user:
                pattern: ^/v1(/|/auth/token/clear$)
                provider: user
                guard:
                    authenticators:
                        - app.rest.security.authenticator.token
                        - app.rest.security.authenticator.sso
                    entry_point: app.rest.security.authenticator.token
            main:
                pattern: ^/
                anonymous: ~
    ```
6. Authenticators

    ```
    //Example authenticators:
    class RestCredentialAuthenticator extends BaseAuthenticator
    {
        public function getAccessTokenClass(): string
        {
            return UserAccessToken::class;
        }
    }

    class TokenAuthenticator extends BaseAuthenticator
    {
        /**
         * @return string
         */
        public function getAccessTokenClass(): string
        {
            return UserAccessToken::class;
        }
    }
    ```
7. Provider

    ```
    class TokenUserProvider extends BaseProvider
    {
        public function loadUserByUsername($username)
        {
           //Implement own method from repository
        }

        public function supportsClass($class)
        {
            return User::class === $class;
        }
    }
    ```
8. Add monolog:

    ```
    # Monolog
    monolog:
        channels: ['raw_request', 'raw_response', 'auth']
        use_microseconds: true
    ```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~54 days

Recently: every ~80 days

Total

11

Last Release

2544d ago

Major Versions

1.1.8 → 2.0.02019-05-27

PHP version history (2 changes)1.0.0-alphaPHP &gt;=7.1.0

2.0.0PHP &gt;=7.2.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/38476b18227debf0dd28bdadd8299f63a89f2369642bc0c2575b5247240cac8c?d=identicon)[kglogowski](/maintainers/kglogowski)

---

Top Contributors

[![kglogowski](https://avatars.githubusercontent.com/u/4816993?v=4)](https://github.com/kglogowski "kglogowski (1 commits)")

### Embed Badge

![Health badge](/badges/kglogowski-client-server-communication/health.svg)

```
[![Health](https://phpackages.com/badges/kglogowski-client-server-communication/health.svg)](https://phpackages.com/packages/kglogowski-client-server-communication)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
