infocyph/intermix
Composer 安装命令:
composer require infocyph/intermix
包简介
A lightweight PHP DI container, invoker, serializer, and utility toolkit.
关键字:
README 文档
README
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.
Global helper functions are optional in
v2: core APIs are namespaced and helper loading is opt-in.
Key Features
- 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
Installation
composer require infocyph/intermix
Optional global helpers:
require_once __DIR__ . '/vendor/infocyph/intermix/src/functions.php';
Supported PHP versions:
| InterMix Version | PHP Version |
|---|---|
| 2.x.x and above | 8.3 or newer |
| 1.x.x | 8.0-8.2 compatible |
Quick Examples
Dependency Injection
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
Dynamic Macros
MacroTest::mix(new class { public function hello($name) { return "Hey, $name!"; } }); echo (new MacroTest)->hello('Ali'); // Hey, Ali!
Definition Cache (Injectable)
use Psr\Cache\CacheItemPoolInterface; $pool = /* any PSR-6 pool, e.g. from infocyph/cachelayer */; $c->definitions()->enableDefinitionCache($pool, cacheRuntimeObjects: false);
Compiled Resolvers
$path = __DIR__ . '/var/intermix.compiled.php'; // build-time: generate compiled resolver map $c->compileTo($path); // runtime: activate compiled resolver map explicitly $c->useCompiled($path); // optional one-step build + activate $c->compileTo($path, load: true);
Signed Serialization
$signed = \Infocyph\InterMix\Serializer\ValueSerializer::signed($_ENV['APP_KEY']); $token = $signed->encode(['user_id' => 1]); $payload = $signed->decode($token);
Testing
composer install composer ic:tests
Security
Protected by PHPForge — an automated quality and security gate for PHP projects.
Made with ❤️ for the PHP communityMIT Licensed
Documentation • Security • Code of Conduct • Contributing • Report | Request | Suggest
infocyph/intermix 适用场景与选型建议
infocyph/intermix 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 7.8k 次下载、GitHub Stars 达 13, 最近一次更新时间为 2024 年 04 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「container」 「cache」 「reflection」 「di」 「attributes」 「serializer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 infocyph/intermix 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 infocyph/intermix 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 infocyph/intermix 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Library emulating the PHP internal reflection using just the tokenized source code.
repository php library
Parse use statements for a reflection object
A fast and intuitive dependency injection container.
Laravel 5 - Repositories to the database layer
Generate UML class diagrams by reflection for your PHP projects
统计信息
- 总下载量: 7.8k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 13
- 点击次数: 24
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-04-15