Skip to content

switon-php/invoker

Repository files navigation

Switon Invoker Package

CI PHP 8.3+

Switon's invoker layer that implements Switon\Invoking\InvokerInterface on top of Switon\Di\InvokerInterface, adding guard attributes and interceptors.

Highlights

  • One invocation entrypoint: callables, closures, and invokable objects all share the same path.
  • Flexible argument matching: position, name, type, and defaults can be combined.
  • Guard support: method guards can run before the target callable.
  • Interceptor support: pre, post, and exception handling can wrap the call.
  • Built on DI: the layer sits on top of the container invoker used by the framework.

Installation

composer require switon/invoker

Quick Start

use Switon\Core\Attribute\Autowired;
use Switon\Invoking\InvokerInterface;

class RequestHandler
{
    #[Autowired] protected InvokerInterface $invoker;

    public function handle(object $controller, string $action, array $routeParams): mixed
    {
        return $this->invoker->invoke([$controller, $action], $routeParams);
    }
}

Docs: https://docs.switon.dev/latest/invoker

License

MIT.

About

Guard-aware and intercepted method invocation on top of the DI invoker for Switon Framework

Topics

Resources

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages