PHPackages                             pine3ree/pine3ree-params-resolver - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. pine3ree/pine3ree-params-resolver

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pine3ree/pine3ree-params-resolver
=================================

A function/method/invokable-object parameter resolution utility class

1.0.1(11mo ago)02.2k4BSD-3-ClausePHPPHP ^7.4 || ^8.0CI passing

Since Apr 27Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/pine3ree/pine3ree-params-resolver)[ Packagist](https://packagist.org/packages/pine3ree/pine3ree-params-resolver)[ Docs](https://github.com/pine3ree/pine3ree-params-resolver)[ RSS](/packages/pine3ree-pine3ree-params-resolver/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (18)Used By (4)

pine3ree ParamsResolver
=======================

[](#pine3ree-paramsresolver)

[![Continuous Integration](https://github.com/pine3ree/pine3ree-params-resolver/actions/workflows/continuos-integration.yml/badge.svg)](https://github.com/pine3ree/pine3ree-params-resolver/actions/workflows/continuos-integration.yml)

ParamsResolver is an utility service that uses reflection to resolve parameters for a given callable performing look-up in the following order and matched against class/interface/parameter names:

- injected parameters,
- dependencies or parameters in the injected or composed container
- default values if available in the callable parameters

```
// API (pseudo-code)

use My\Container;
use pine3ree\Container\ParamsResolver;

$params = new ParamsResolver($container);
$params->resolve($callable, array $resolvedParams);

// For a constructor the $callable argument would be:
$callable = [My\Class::class, '__construct'];

// or in general for any method:
$callable = [string $fqcn, string $methodName];
```

Example:

In the following example the `$db` and the `$hydrator` dependencies are fetched from the container, while the `$config` parameter is provided and the `$options` parameter receives the default empty array value.

```
