jbboehr / yumemi-apocrypha
Curated PHPStan unit annotations for third-party PHP packages.
Package info
github.com/jbboehr/yumemi-apocrypha.php
Type:phpstan-extension
pkg:composer/jbboehr/yumemi-apocrypha
Requires
- php: ^8.2
- composer-runtime-api: ^2.0
- jbboehr/yumemi: ^0.1
- phpstan/phpstan: ^2.2.5
Requires (Dev)
- ext-curl: *
- ext-dom: *
- ext-zip: *
- composer/metadata-minifier: ^1.0.1
- composer/semver: ^3.4
- friendsofphp/php-cs-fixer: ^3
- infection/infection: ^0.32.6
- jbboehr/akashi: dev-master
- jbboehr/doctrine-of-the-second-sun: dev-master
- jbboehr/phpbench-perfidious: dev-master
- nikic/php-parser: ^5.8
- phpbench/phpbench: ^1.7
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0.13
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^11.5
- symfony/process: ^7.4
Suggests
- larastan/larastan: Adds Laravel-specific analysis while Apocrypha preserves selected Illuminate unit boundaries.
- phpstan/extension-installer: Automatically registers Yumemi and Yumemi Apocrypha with PHPStan.
This package is auto-updated.
Last update: 2026-08-16 04:38:40 UTC
README
Yumemi Apocrypha
Curated PHPStan unit annotations for third-party PHP packages, built on Yumemi.
The public API remains provisional throughout the 0.x release series.
composer require --dev jbboehr/yumemi-apocrypha:^0.2 phpstan/extension-installer
If Yumemi is used only during PHPStan analysis, the complete toolchain may remain in development dependencies. The
example below calls Yumemi's runtime unit() function; applications that do the same must install Yumemi as a normal
dependency:
composer require jbboehr/yumemi:^0.1
Select an integration in phpstan.neon:
parameters: yumemiApocrypha: integrations: - illuminate/cache
<?php use Illuminate\Contracts\Cache\Store; use function jbboehr\Yumemi\unit; function cacheReportForOneMinute(Store $cache): void { //! Store::put() expects unit_int<'second'>, 1&unit_int<'minute'> given $cache->put('report', 'ready', unit(1, 'minute')); }
//! marks the expected PHPStan diagnostic used by documentation testing; it is not Yumemi syntax.
Verified package compatibility
| Composer package | Supported versions |
|---|---|
nesbot/carbon |
2.62.1+ in 2.x; 3.x |
james-heinrich/getid3 |
1.9.22+ in 1.x; 2.0.0-beta6+ in 2.x |
guzzlehttp/guzzle |
7, 8 |
illuminate/auth |
11, 12, 13 |
illuminate/bus |
11, 12, 13 |
illuminate/cache |
11, 12, 13 |
illuminate/concurrency (framework-provided integration key) |
11, 12, 13 |
illuminate/console |
11, 12, 13 |
illuminate/cookie |
11, 12, 13 |
illuminate/database |
11, 12, 13 |
illuminate/filesystem |
11, 12, 13 |
illuminate/http |
11, 12, 13 |
illuminate/mail |
11, 12, 13 |
illuminate/process |
11, 12, 13 |
illuminate/queue |
11, 12, 13 |
illuminate/redis |
11, 12, 13 |
illuminate/routing |
11, 12, 13 |
illuminate/session |
11, 12, 13 |
illuminate/support |
11, 12, 13 |
illuminate/validation |
11, 12, 13 |
intervention/image |
3, 4 |
laravel/framework (provider only) |
11, 12, 13 |
mjaschen/phpgeo |
4, 5, 6 |
nmarfurt/measurements |
1.4+ in 1.x |
symfony/http-foundation |
6.4+ in 6.x; 7.x; 8.x |
symfony/stopwatch |
6, 7, 8 |
laravel/framework supplies the listed Illuminate packages through Composer replacements. Select the precise
illuminate/* integration name; no separate component installation is required. Concurrency is available only through
the framework provider rather than as a separately published Packagist component.
Documentation
Start with Getting Started, then consult the integration reference for exact units, versions, and limitations. The documentation index also links maintainer guidance.
License
Yumemi Apocrypha is licensed under AGPL-3.0-only WITH romic-exception. See LICENSE.md and the
Romic Exception. Contributions follow the terms in CONTRIBUTING.md. The
bundled integration declarations describe third-party APIs; see the third-party notices.
