manychois/php-strong
Composer 安装命令:
composer require manychois/php-strong
包简介
A utility library for PHP to help you write strong-typed code.
关键字:
README 文档
README
php-strong is a small PHP library that adds typed boundaries around places PHP is usually loose: nested arrays, the DI container, native sessions, and string matching. It does not replace the language type system; it gives you explicit, predictable APIs so invalid shapes fail at the edge (when you read a value or resolve a service) instead of far down the call stack.
It targets PHP 8.5+, uses the Manychois\PhpStrong namespace with PSR-4 autoloading, and integrates with PSR-7 (HTTP messages), PSR-17 (HTTP factories), PSR-11 (containers), and PSR-20 (clock) where relevant.
What’s in the box
-
Collections — Lazy and eager sequences (
LazySequence), mutable lists (ArrayList), readonly list views (ReadonlyList), maps with typed keys (StringMap,IntMap,ObjectMap, and readonly variants), plus shared sequence/list interfaces and comparers for ordering. Suited to application code that wants clear generics-friendly collection APIs. -
Typed array and object reading —
ArrayReader(andArrayReaderInterface) walk dot-separated paths and expose readers such asasInt,bool,string,object, andinstanceOfso nested structures are validated when accessed. -
PSR-11 container —
StrongContainerInterfaceandStrongContainerWrapperwrap anyPsr\Container\ContainerInterfaceand addgetObject($id, $class)so resolved services are checked against an expected class or interface. -
Web— PSR-7 value objects:OutRequest,InRequest,Response,Stream,Uri, andUploadedFile, plusMethodandStatusCodeenums. PSR-17 factories:RequestFactory(requests and server requests),ResponseFactory,StreamFactory,UploadedFileFactory, andUriFactory. Sessions:PhpSession/PhpSessionInterfaceexpose$_SESSIONwith the same path-style, validated access asArrayReader, plus lifecycle helpers. -
Time —
UtcClockimplements PSR-20’s clock in UTC, with support for deterministic tests (e.g. frozen instants). -
Text —
Regex,MatchResult,Capture, andUtf8Stringoffer an object-oriented, exception-oriented approach to pattern matching and UTF-8 strings; small helpers likeStringSideand value types such asDayOfWeeklive alongside them.
Why use it?
If you like C#- or Java-style rigor at API boundaries—without fighting PHP’s arrays and superglobals—php-strong narrows mixed early: fewer surprises in business logic and better alignment with static analysis (e.g. PHPStan) on downstream code.
Installation
composer require manychois/php-strong
manychois/php-strong 适用场景与选型建议
manychois/php-strong 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 02 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「container」 「session」 「regex」 「clock」 「PSR-11」 「type-safety」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 manychois/php-strong 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 manychois/php-strong 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 manychois/php-strong 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Secure session middleware for Slim 3 framework
Non-I/O blocking PHP SessionHandler implementation using Nette/Caching with DI Extension for Nette framework
A fast and intuitive dependency injection container.
Advanced TYPO3 redirect management for sys_redirect with regex and host/language-aware matching, CSV/.htaccess import/export, categories and priority, automatic slug redirect workflows, plus hit/log analytics.
Adds PHP's preg_replace function as a Twig filter.
Convert Regular Expressions into text, for testing
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-02-04