andrdru/data

另一个抽象数据类

此包的官方仓库似乎已不存在,因此该包已被冻结。

维护者

详细信息

github.com/andrdru/php-data

v2.0.1 2018-05-27 08:54 UTC

README

简单的 PHP 抽象数据类

Build Status Codacy Badge

使用方法

简单扩展 AbstractData 类

class MyClass extents AbstractData{};
$obj = new MyClass();

功能

  • 存储属性
$obj->myvar='mydata';
var_dump($obj->myvar); //string(6) "mydata"
  • 存储数组
$obj->myarr[0] = 123;
$obj->myarr[1] = 456;
var_dump($obj->myarr); //array(2) { [0] =>int(123) [1] =>int(456) }
$obj->myarr[] = 123;
var_dump($obj->myarr); //array(1) { [0] =>int(123) }
  • 存储多维数组
$obj->myarr['param']['subparam']['subsub']='value';

/* 
array (size=1)
  'param' => 
    array (size=1)
      'subparam' => 
        array (size=1)
          'subsub' => string 'value' (length=5)
*/
var_dump($obj->myarr);
$obj->myarr[][] = 'somedata';

/*
array(1) {
  [0] =>
  array(1) {
    [0] =>
    string(8) "somedata"
  }
}
*/
var_dump($obj->myarr);
  • 从关联数组初始化属性
$obj = new MyClass(['myvar'=>'mydata']);
var_dump($obj->myvar); //string(6) "mydata"
$obj = new MyClass();
$obj->setArray(['myvar'=>'mydata']);
var_dump($obj->myvar); //string(6) "mydata"
  • 将属性放入数组
$obj->getArray();
$obj->getArray('mydata');
  • 在私有 $data 数组上使用 current(), key(), reset(), end(), next(), prev()
$obj->current();

通过 Composer 安装

composer require andrdru/data