PHPackages                             technically/callable-reflection - 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. technically/callable-reflection

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

technically/callable-reflection
===============================

A handy library to simplify reflecting any callable or constructor. PHP8-ready!

0.4.3(6mo ago)9101.9k—4.2%23MITPHPPHP ^7.1|^8.0CI passing

Since Apr 7Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/technically-php/callable-reflection)[ Packagist](https://packagist.org/packages/technically/callable-reflection)[ RSS](/packages/technically-callable-reflection/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (10)Used By (3)

Technically Callable Reflection
===============================

[](#technically-callable-reflection)

`Technically\CallableReflection` is a handy library to simplify reflecting any `callable`. It provides a unified interface for reading callable arguments seamlessly supporting PHP8 union types. It also lets you to easily invoke a callable with `call()` and `apply()` supporting named parameters.

[![Status](https://github.com/technically-php/callable-reflection/actions/workflows/test.yml/badge.svg)](https://github.com/technically-php/callable-reflection/actions/workflows/test.yml/badge.svg)

Features
--------

[](#features)

- Unified and simplified interface to reflect callable parameters
- No dependencies
- Supports PHP 8.0, 8.1, 8.2, 8.3, 8.4 (supports union types, `mixed`, `false`, etc; see examples below)
- PHP 7.1+ compatible — runs on as low as PHP 7.1
- Semver
- Tests

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

[](#installation)

Use [Composer](https://getcomposer.org/) package manager to add *Technically\\CallableReflection* to your project:

```
composer require technically/callable-reflection

```

Examples
--------

[](#examples)

### Reflecting callable properties

[](#reflecting-callable-properties)

```
