andrdru/data

yet another abstract data class

This package's canonical repository appears to be gone and the package has been frozen as a result.

Maintainers

Details

github.com/andrdru/php-data

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

README

simple php abstract data class

Build Status Codacy Badge

Usage

Simply extends AbstractData

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

Features

  • store properties
$obj->myvar='mydata';
var_dump($obj->myvar); //string(6) "mydata"
  • store arrays
$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) }
  • store multi-dimensional arrays
$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);
  • init properties from associative array
$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"
  • get properties into array
$obj->getArray();
$obj->getArray('mydata');
  • use current(), key(), reset(), end(), next(), prev() on private $data array:
$obj->current();

Install via Composer

composer require andrdru/data