承接 net_bazzline/component_data_type 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

net_bazzline/component_data_type

Composer 安装命令:

composer require net_bazzline/component_data_type

包简介

php component data type

README 文档

README

This component includes class definitions for php basic data types like:

  • Boolean
  • Floating point
  • Integer
  • String
  • Numeric
  • DataArray

By using this component, you are able to use type hints also for basic data types.

The build status of the current master branch is tracked by Travis CI: Build Status

Features

  • Enables type hints for basic php types
  • Types shipped with useful methods
  • Are comparable with native php types by using "=="
  • Provides generic type casting by implemented "toString()" methods (and so on)
  • Provides type migration by from and to methods

Usage

Example

/**
 * 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);

Hints

  • Extend provided types with classes in own namespace.
  • If you add a super cool method to your type, push it and be a part of the development team

Install

Via 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 .

Via Composer

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

Why?

I started developing this component because of the many casts i have to do while dealing with php's basic data types. As general, i searched the web for existing and easy to use components but could not find them. If you find one, please tell me. Last but not least SplTypes are still experimental.

To Do

  • Cover existing unittest with validation of implemented interfaces
  • Can we use pack?
  • Add modulo to Numeric
  • Add locking (mark a value as read only)
  • Add Date type -> check Joda Time
  • Add Time type
  • Add DateTime type
  • Add arrayAccess to string
  • Add collection
  • Add examples
  • Add benchmarks
  • Option type?
  • Enum?
  • Add invoke to String?

Links

Following are links i found and used for creating this component.

Other Implementations

History

  • next
    • Coverd existing classes with "ableInterface" where each defines a from$Type and to$Type method
    • Started class for array called DataArray
    • Implemented usage of LockInterface, now you can lock a datatype to prevent from value changes
  • 1.1.0
    • Updated readme
    • Implemented isEmpty method which leads to different behaviour while creating an object
  • 1.0.0
    • Finished data type Boolean
    • Finished data type FloatingPoint
    • Finished data type Numierc
    • Finished data type Integer
    • Finished data type String

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: LGPLv3
  • 更新时间: 2013-08-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固