trentonmaki / complex-types
添加强类型列表和映射
1.1.0
2015-08-19 18:27 UTC
Requires
- php: ^5.3
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-28 18:21:21 UTC
README
PHP 的复杂列表和映射类型
API
TypedMap 和 TypedList API 几乎支持与数组相同的接口(请参阅 (ArrayObject)[https://php.ac.cn/manual/en/class.arrayobject.php] 以获取示例),差异在于这两种类型允许的键值以及与 array_* 函数的不兼容性
使用方法
为每种类型的列表或映射简单继承 TypedList 或 TypedMap,然后编写 isType() 或 keyType() 和 valueType() 方法。
示例
class StringList extends TypedList { /** * @param mixed $val * @return bool */ protected function isType($val) { return is_string($val); } }
现在您可以像使用普通数组一样使用 StringList。如果有人试图在您的列表中放置非字符串,则会立即抛出异常。