trentonmaki/complex-types

添加强类型列表和映射

1.1.0 2015-08-19 18:27 UTC

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_* 函数的不兼容性

使用方法

为每种类型的列表或映射简单继承 TypedListTypedMap,然后编写 isType()keyType()valueType() 方法。

示例

class StringList extends TypedList
    {

      /**
       * @param mixed $val
       * @return bool
       */
      protected function isType($val)
      {
          return is_string($val);
      }
  }

现在您可以像使用普通数组一样使用 StringList。如果有人试图在您的列表中放置非字符串,则会立即抛出异常。