net_bazzline/component_data_type

1.1.0 2013-08-04 10:39 UTC

This package is auto-updated.

Last update: 2024-09-16 20:59:50 UTC


README

此组件包含PHP基本数据类型(如布尔值、浮点数、整数、字符串、数字、数据数组)的类定义。

  • 布尔值
  • 浮点数
  • 整数
  • 字符串
  • 数字
  • 数据数组

使用此组件,您可以也对基本数据类型使用类型提示。

当前master分支的构建状态由Travis CI跟踪:Build Status

特性

  • 启用基本PHP类型的类型提示
  • 提供有实用方法的类型
  • 可以使用"=="与原生PHP类型进行比较
  • 通过实现"toString()"方法(等等)提供泛型类型转换
  • 通过"from"和"to"方法提供类型迁移

用法

示例

/**
 * Class with type hint for string
 *
 * @author stev leibelt <artodeto@arcor.de>
 * @since 2013-08-04
 */
class MyClass
{
    /**
     * @var array
     * @author stev leibelt <artodeto@arcor.de>
     * @since 2013-08-04
     */
    private $strings = array();

    /**
     * Super cool method with type hint for string
     *
     * @author stev leibelt <artodeto@arcor.de>
     * @since 2013-08-04
     */
    public function addString(\Net\Bazzline\Component\DataType\String $string)
    {
        $this->strings[] = $string;

        return $this;
    }
}

$myString = new \Net\Bazzline\Component\DataType\String('super cool test string');

$myClass = new MyClass();
$myClass->addString($myString);

提示

  • 通过在自定义命名空间中添加类来扩展提供的类型。
  • 如果您为类型添加了超级酷的方法,请推送它,成为开发团队的一部分

安装

通过Git

cd path/to/my/git/respositories
mkdir -p stevleibelt/php_component_data_type
cd stevleibelt/php_component_data_type

git clone git://github.com/stevleibelt/php_component_data_type.git .

通过Composer

require: "net_bazzline/component_data_type": "dev-master"

为什么?

我开始开发此组件是因为处理PHP基本数据类型时需要做很多类型转换。通常,我在网上搜索了现有的易于使用的组件,但没有找到它们。如果您找到了一个,请告诉我。最后但并非最不重要的是 SplTypes 仍然是实验性的。

待办事项

  • 使用实现的接口验证覆盖现有的单元测试
  • 我们可以使用 pack 吗?
  • 向数字添加模运算符
  • 添加锁定(将值标记为只读)
  • 添加日期类型 -> 检查 Joda Time
  • 添加时间类型
  • 添加日期时间类型
  • 向字符串添加arrayAccess
  • 添加集合
  • 添加示例
  • 添加基准测试
  • 选项类型?
  • 枚举?
  • 向String添加invoke吗?

链接

以下是创建此组件时找到并使用的链接。

其他实现

历史

  • 下一个
    • 在"ableInterface"中覆盖现有的类,每个都定义了一个 from$Typeto$Type 方法
    • 开始创建名为DataArray的数组类
    • 实现了LockInterface的使用,现在您可以锁定数据类型以防止值更改
  • 1.1.0
    • 更新了README
    • 实现了isEmpty方法,这使得在创建对象时产生不同的行为
  • 1.0.0
    • 完成布尔类型数据类型
    • 完成浮点数数据类型
    • 完成数字数据类型
    • 完成整数数据类型
    • 完成字符串数据类型