定制 tourze/operation-system-enum 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

tourze/operation-system-enum

Composer 安装命令:

composer require tourze/operation-system-enum

包简介

Operation System Enum

README 文档

README

English | 中文

A PHP 8.1+ enum package for representing different operating system platforms with support for label display, array conversion, and compatibility with frontend parameters.

Installation

composer require tourze/operation-system-enum

Quick Start

Basic Usage

use Tourze\OperationSystemEnum\Platform;

// Get all platform cases
$platforms = Platform::cases();

// Get platform by value
$platform = Platform::from('WINDOWS');

// Get platform with fallback
$platform = Platform::tryFrom('INVALID'); // returns null

// Get platform label
echo Platform::WINDOWS->getLabel(); // "Windows"
echo Platform::ANDROID->getLabel(); // "安卓"

Advanced Usage

use Tourze\OperationSystemEnum\Platform;

// Mixed input support with compatibility
$platform = Platform::mixFrom('mac');     // returns Platform::MACOS
$platform = Platform::mixFrom('darwin');  // returns Platform::MACOS
$platform = Platform::mixFrom('win');     // returns Platform::WINDOWS
$platform = Platform::mixFrom('win32');   // returns Platform::WINDOWS

// Convert to array format
$data = Platform::WINDOWS->toArray();
// Returns: ['value' => 'WINDOWS', 'label' => 'Windows']

// Generate select options for frontend
$options = Platform::genOptions();
// Returns array of ['label' => '...', 'text' => '...', 'value' => '...', 'name' => '...']

Available Platforms

  • Platform::EMPTY - Empty/Unknown platform
  • Platform::WINDOWS - Microsoft Windows
  • Platform::ANDROID - Android OS
  • Platform::IOS - Apple iOS
  • Platform::MACOS - Apple macOS
  • Platform::ROUTER - Router systems

Features

  • Type Safety: Built on PHP 8.1+ enums with strict typing
  • Labelable: Implements Labelable interface for display labels
  • Itemable: Implements Itemable interface for array conversion
  • Selectable: Implements Selectable interface for frontend options
  • Compatibility: Support for various input formats via mixFrom() method
  • Internationalization: Labels in multiple languages (English/Chinese)

Configuration

This package requires no additional configuration. It works out of the box with:

  • PHP 8.1 or higher
  • tourze/enum-extra package for trait implementations

API Reference

Methods

  • getLabel(): string - Get display label for the platform
  • toArray(): array - Convert to array with value and label
  • toSelectItem(): array - Convert to select option format
  • static mixFrom(string $value): ?Platform - Create platform from mixed input
  • static genOptions(): array - Generate all platform options for frontend

Interfaces

  • Labelable - Provides label display functionality
  • Itemable - Provides array conversion functionality
  • Selectable - Provides select option generation functionality

License

MIT

tourze/operation-system-enum 适用场景与选型建议

tourze/operation-system-enum 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 367 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 05 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 tourze/operation-system-enum 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 tourze/operation-system-enum 我们能提供哪些服务?
定制开发 / 二次开发

基于 tourze/operation-system-enum 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-25