imponeer/properties

添加定义具有严格数据类型行为的类变量的可能性

dev-main 2024-07-02 11:36 UTC

This package is auto-updated.

Last update: 2024-09-08 23:36:04 UTC


README

License GitHub release Build Status Packagist Maintainability Test Coverage

属性

用于处理严格类型类变量的PHP库。此包只能用于为其他类添加功能。

安装

composer require imponeer/properties

使用

要将一些自定义属性支持添加到类中,首先需要扩展该类。以下是如何做到的示例

use Imponeer\Properties;

class Base extends Properties {

}

接下来,你需要在类构造函数中定义变量。以下是一个示例

use Imponeer\Properties;

class Base extends Properties {

  public function __construct() {
    $this->initVar('varA', self::DTYPE_INTEGER, null, false);
    $this->initVar('varB', self::DTYPE_STRING, null, true, 150);
    $this->initVar('varC', self::DTYPE_INTEGER, 100, false);
  }
}

然后就可以使用这样的变量。对于前面的示例,它会这样工作

// Creates instance
$obj = new Base();

// Print current objects vars
var_dump($obj->toArray());

// Modify vars with some integer values and prints
$obj->varA = 57;
$obj->varB = 58;
$obj->varC = 59;
var_dump($obj->toArray());

// Modify vars with some string values and prints
$obj->varA = "A";
$obj->varB = "B";
$obj->varC = "C";
var_dump($obj->toArray());

如何贡献?

如果你想添加一些功能或修复错误,你可以分支、更改并创建pull请求。如果你不确定如何操作,可以尝试交互式GitHub教程

如果你发现了任何错误或有问题,请使用问题标签并写下你的问题。