2017 © Pedro Peláez
 

library service-wrapper

Service Wrapper classes

image

zicht/service-wrapper

Service Wrapper classes

  • Tuesday, July 24, 2018
  • by zicht-jenkins
  • Repository
  • 1 Watchers
  • 0 Stars
  • 217 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 55 Versions
  • 443 % Grown

The README.md

Zicht service wrapper

Provides a wrapper to easily allow for an aspect-oriented approach of influencing response and requests to the service., (*1)

Scripts

  • unit test: composer test
  • lint test: composer lint

General approach

All calls to the service are wrapped in a call that notifies all observers of the call. The observers get a change to do their own housekeeping, or even alter the request or the response., (*2)

Any observer must implement the notifyBefore, alterRequest, alterResponse and notifyAfter methods. Each observer will get an instance of a ServiceCall object, which contains the request and the response objects. This more or less works the same as an event loop, but is intentionally not implemented as such to avoid the overhead of having a dispatcher and listener structure in place., (*3)

Common observers

For two very common practices, a logger and a cache observer are available., (*4)

Example

class MyService
{
    public function doIt($name)
    {
        return sprintf("Hi, %s, you have %d marbles in your pocket!", $name, rand());
    }
}

class MyObserver implements ServiceObserverInterface
{
    public function notifyBefore(ServiceCallInterface $call) {}
    public function notifyAfter(ServiceCallInterface $call) {}
    public function alterRequest(ServiceCallInterface $call) {}
    public function alterResponse(ServiceCallInterface $call)
    {
        $call->setResponse(strrev($call->getResponse()->getResponse()));
    }
}

$wrapper = new ServiceWrapper(new MyService());
$wrapper->registerObserver(new MyObserver());

echo $wrapper->doIt("Bart");
echo $wrapper->doIt("Lisa");

See doc/example.php for a more thorough example., (*5)

Applications

You can implement observer that:, (*6)

  • Add more data to responses, i.e. to enrich data
  • Add basic logging
  • Extensively monitor requests and responses with your own observers
  • Add sanity checks and such that are costly in development, but can now easily be isolated in one object.
  • Add caching

Maintainer

The Versions

24/07 2018

dev-feature/production-environment-test

dev-feature/production-environment-test

Service Wrapper classes

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by Gerard van Helden

03/07 2018

dev-release/3.x

dev-release/3.x

Service Wrapper classes

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by Gerard van Helden

03/07 2018

3.0.0

3.0.0.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by Gerard van Helden

18/06 2018

dev-release/2.x

dev-release/2.x

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

21/03 2018

2.3.4

2.3.4.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

31/10 2017

2.3.3

2.3.3.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

12/10 2017

2.3.2

2.3.2.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

19/09 2017

2.3.1

2.3.1.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

06/07 2017

2.3.1-rc.1

2.3.1.0-RC1

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

09/05 2017

2.3.0

2.3.0.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

08/05 2017

2.3.0-rc.1

2.3.0.0-RC1

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

06/04 2017

dev-feature/get-attributes-deep

dev-feature/get-attributes-deep

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

20/02 2017

2.1.1

2.1.1.0

Service Wrapper classes

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gerard van Helden

20/02 2017

2.0.2

2.0.2.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

20/02 2017

dev-feature/add-cached-count-to-symfony-data-collector

dev-feature/add-cached-count-to-symfony-data-collector

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

28/12 2016

2.1.0

2.1.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

28/12 2016

2.1.0-rc.3

2.1.0.0-RC3

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

22/12 2016

2.1.0-rc.2

2.1.0.0-RC2

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

19/12 2016

2.1.0-rc.1

2.1.0.0-RC1

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

19/12 2016

2.1.0-beta.1

2.1.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

14/12 2016

2.0.1

2.0.1.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

13/10 2016

2.0.0-beta.1

2.0.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

13/10 2016

2.0.0

2.0.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

24/08 2016

1.6.4

1.6.4.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

22/08 2016

1.6.3

1.6.3.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

22/08 2016

1.6.2

1.6.2.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

22/08 2016

1.6.1

1.6.1.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

12/08 2016

1.6.0

1.6.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

12/08 2016

1.6.0-beta.1

1.6.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

21/07 2016

1.5.0

1.5.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

21/07 2016

1.5.0-beta.1

1.5.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

28/06 2016

1.4.0

1.4.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

28/06 2016

1.4.0-beta.4

1.4.0.0-beta4

Service Wrapper classes

  Sources   Download

The Requires

 

The Development Requires

by Gerard van Helden

28/06 2016

1.4.0-beta.3

1.4.0.0-beta3

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

19/04 2016

1.4.0-beta.2

1.4.0.0-beta2

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

19/04 2016

1.4.0-beta.1

1.4.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

13/01 2016

1.3.2

1.3.2.0

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

06/01 2016

1.3.2-rc.3

1.3.2.0-RC3

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

06/01 2016

1.3.2-rc.2

1.3.2.0-RC2

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

06/01 2016

1.3.2-rc.1

1.3.2.0-RC1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

06/01 2016

1.3.1

1.3.1.0

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

05/01 2016

1.3.1-rc.1

1.3.1.0-RC1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

30/12 2015

1.3.0

1.3.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

30/12 2015

1.3.0-rc.1

1.3.0.0-RC1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

30/12 2015

1.3.0-beta.1

1.3.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

02/11 2015

1.2.0

1.2.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

26/10 2015

1.2.0-beta.1

1.2.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

16/06 2015

1.1.0

1.1.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

15/05 2015

1.1.0-beta.1

1.1.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

11/05 2015

1.0.0

1.0.0.0

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

23/03 2015

1.0.0-rc.2

1.0.0.0-RC2

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

23/03 2015

1.0.0-beta.3

1.0.0.0-beta3

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

12/03 2015

1.0.0-rc.1

1.0.0.0-RC1

Service Wrapper classes

  Sources   Download

The Requires

 

by Gerard van Helden

11/03 2015

1.0.0-beta.2

1.0.0.0-beta2

Service Wrapper classes

  Sources   Download

The Requires

  • php >=5.3

 

by Gerard van Helden

11/03 2015

1.0.0-beta.1

1.0.0.0-beta1

Service Wrapper classes

  Sources   Download

The Requires

  • php >=5.3

 

by Gerard van Helden