MethodFactory
in package
implements
FactoryInterface
A factory that invokes a specified method on a class using reflection and the PSR-11 container.
This factory MUST be used when service creation requires calling a non-constructor method, and supports both static and instance methods.
If the method is not public, a RuntimeException SHALL be thrown.
Arguments MAY be resolved from the container if passed as service identifiers.
Table of Contents
Interfaces
- FactoryInterface
- Defines a contract for service factories that rely on a PSR-11 container for instantiation.
Methods
- __construct() : mixed
- Constructs the MethodFactory.
- __invoke() : mixed
- Resolves the class and invokes the configured method with arguments.
Methods
__construct()
Constructs the MethodFactory.
public
__construct(string $class, string $method, mixed ...$arguments) : mixed
Parameters
- $class : string
-
the class name or container service ID on which the method is called
- $method : string
-
the name of the method to invoke
- $arguments : mixed
-
Optional arguments to pass to the method.
__invoke()
Resolves the class and invokes the configured method with arguments.
public
__invoke(ContainerInterface $container) : mixed
Arguments MAY be resolved from the container if passed as string identifiers and found. Static methods are invoked without instantiating the class. If the method is not public, this method MUST throw a RuntimeException.
Parameters
- $container : ContainerInterface
-
The container used to resolve the class and arguments
Tags
Return values
mixed —The result of invoking the method