承接 php-architecture-kit/technical 相关项目开发

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

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

php-architecture-kit/technical

最新稳定版本:1.0.1

Composer 安装命令:

composer require php-architecture-kit/technical

包简介

Technical classes, interfaces and utilities.

README 文档

README

Technical classes, interfaces and utilities for PHP applications. A lightweight, zero-dependency utility library providing common low-level helpers.

Features

  • Assert - Validation utilities with customizable exception types
  • ArrayTransformation - Array manipulation helpers
  • No dependencies - Only requires PHP 7.4+
  • Framework-agnostic - Works with any PHP project

Installation

composer require php-architecture-kit/technical

Quick Start

use PhpArchitecture\Technical\Assert;
use PhpArchitecture\Technical\ArrayTransformation;

// Assert all items are instances of a given class
Assert::eachInstanceOf($items, SomeClass::class);

// Assert all items are strings
Assert::eachString($tags);

// Index an array by a derived key
$indexed = ArrayTransformation::indexBy($items, fn($item) => $item->getId());

API Reference

Assert

Method Description
eachInstanceOf(array $items, string $class, string $exceptionClass, int $displayLimit) Throws if any item is not an instance of $class
eachString(array $items, string $exceptionClass, int $displayLimit) Throws if any item is not a string

Both methods accept a custom $exceptionClass (must implement Throwable, defaults to InvalidArgumentException) and $displayLimit to cap how many invalid items appear in the message.

use PhpArchitecture\Technical\Assert;
use RuntimeException;

Assert::eachInstanceOf($commands, Command::class, RuntimeException::class);
Assert::eachString($names, \DomainException::class, displayLimit: 3);

ArrayTransformation

Method Description
indexBy(array $items, callable $key): array Re-keys an array using the return value of $key($item)
use PhpArchitecture\Technical\ArrayTransformation;

$users = [new User('alice'), new User('bob')];
$byName = ArrayTransformation::indexBy($users, fn(User $u) => $u->getName());
// ['alice' => User, 'bob' => User]

License

MIT

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固