agmakonts / stl
此包已被废弃,不再维护。没有建议的替代包。
标准类型库
v2.2.1.1
2015-08-22 13:42 UTC
Requires
- php: >=5.5
- marc-mabe/php-enum: 2.0.*
- ramsey/uuid: 2.8.*
Requires (Dev)
- devster/ubench: 1.1.*
- fzaninotto/faker: 1.5.*@dev
- phpunit/phpunit: 4.3.4
README
PHP的简单类型库
受nicolopignatelli/valueobjects启发。我的目标是创建一套类,作为面向对象的基本数据类型实现,以应对PHP的动态类型,同时添加一些用于常见任务的额外类。STL的一个主要特点是所有对象都针对每个值有一个实例 String::get('Test') === String::get('Test')
。正因为如此,很容易将对象存储在例如 SPLObjectStorage
或类似的容器中,这些容器依赖于对象哈希。
所有对象都是不可变的 - 这是必需的,因为实例是共享的。
要求
- PHP >= 5.4
- OpenSSL扩展
快速开始
//Create or get String instance $string = String::get('String value'); //Create or get Integer instance $integer = Integer::get(12213); //Chaining $integer = Integer::get(10)->add(Integer::get(10));
库部分描述
数字
\Number
命名空间中的所有类都旨在处理数字类型。十进制内部使用字符串与bcmath函数兼容,但接口公开标量数字。
日期时间
...
路线图
目前,在经过相当大的重建(仍在进行中)之后,只有字符串几乎完全实现,以下列出了计划中的其他数据类型和值对象:
- 数字
- 整数 - 已完成
- 十进制 - 已完成
- 分数
- 日期时间
- 日期
- 年
- 月
- 周
- 日
- 时间
- 小时
- 分钟
- 秒
- 日期时间 - 开始
- 结构
- 类型数组
- 类型列表
- 字典
- 标识
- UUID
- 数字
- 字母数字
- 自增数字 - 已完成
- 文本
- 单词
- 句子
- 段落