InterMix is a modern, lightweight PHP toolkit for developers who value class-oriented design, clean architecture, and fast execution. It combines dependency injection, serialization, macro-style extensibility, and helper utilities with minimal config and maximum control.
- Dependency Injection (DI) β PSR-11 compliant container with:
- attribute-based injection
- scoped lifetimes
- lazy loading
- environment-specific overrides
- debug tracing & definition-cache integration via assignable PSR-6 pool
- Serializer β Closure-aware value serialization and resource handlers
- Fence β Enforce singleton-style class safety
- Remix β Fluent traits, proxies, and global helper functions
- MacroMix β Dynamically extend objects or classes with macros
- Global Utilities β Like
pipe(),retry(),measure()and more
composer require infocyph/intermixSupported PHP versions:
| InterMix Version | PHP Version |
|---|---|
| 2.x.x and above | 8.3 or newer |
| 1.x.x | 8.0-8.2 compatible |
use function Infocyph\InterMix\container;
$c = container();
$c->definitions()->bind('now', fn () => new DateTimeImmutable());
echo $c->get('now')->format('c');Enable autowiring with attributes:
$c->options()->setOptions(
injection: true,
methodAttributes: true,
propertyAttributes: true
);Tag-based resolution:
$c->definitions()->bind('a', A::class, tags: ['service']);
$c->definitions()->bind('b', B::class, tags: ['service']);
foreach ($c->findByTag('service') as $svc) {
$svc()->handle();
}See full container guide at: π https://docs.infocyph.com/projects/intermix/di/overview.html
MacroTest::mix(new class {
public function hello($name) {
return "Hey, $name!";
}
});
echo (new MacroTest)->hello('Ali'); // Hey, Ali!use Psr\Cache\CacheItemPoolInterface;
$pool = /* any PSR-6 pool, e.g. from infocyph/cachelayer */;
$c->definitions()->enableDefinitionCache($pool);Full documentation available at:
π https://docs.infocyph.com/projects/intermix/
Includes:
- β Getting Started & Quickstart
- π¦ DI Container Guide (bindings, scopes, attributes, lifetimes)
- π§© Modules: DI, Serializer, Remix, Fence, MacroMix
- π§ͺ Testing & Caching Tips
- π PDF/ePub formats
composer install
composer testGot ideas or improvements? Join us!
π Open issues π¬ Submit a PR β we welcome quality contributions
MIT Licensed β use it freely, modify it openly.