承接 manychois/php-strong 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

manychois/php-strong

最新稳定版本:v0.0.1

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 readingArrayReader (and ArrayReaderInterface) walk dot-separated paths and expose readers such as asInt, bool, string, object, and instanceOf so nested structures are validated when accessed.

  • PSR-11 containerStrongContainerInterface and StrongContainerWrapper wrap any Psr\Container\ContainerInterface and add getObject($id, $class) so resolved services are checked against an expected class or interface.

  • WebPSR-7 value objects: OutRequest, InRequest, Response, Stream, Uri, and UploadedFile, plus Method and StatusCode enums. PSR-17 factories: RequestFactory (requests and server requests), ResponseFactory, StreamFactory, UploadedFileFactory, and UriFactory. Sessions: PhpSession / PhpSessionInterface expose $_SESSION with the same path-style, validated access as ArrayReader, plus lifecycle helpers.

  • TimeUtcClock implements PSR-20’s clock in UTC, with support for deterministic tests (e.g. frozen instants).

  • TextRegex, MatchResult, Capture, and Utf8String offer an object-oriented, exception-oriented approach to pattern matching and UTF-8 strings; small helpers like StringSide and value types such as DayOfWeek live 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

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-02-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固