2017 © Pedro Peláez
 

library object

image

molovo/object

  • Tuesday, June 19, 2018
  • by molovo
  • Repository
  • 1 Watchers
  • 1 Stars
  • 160 Installations
  • HTML
  • 4 Dependents
  • 0 Suggesters
  • 0 Forks
  • 2 Open issues
  • 17 Versions
  • 3 % Grown

The README.md

Object

Build Status Coverage Status, (*1)

A lightweight object wrapper, ideal for storing nested config etc., (*2)

Install

composer require molovo/object

Use

<?php

use Molovo\Object\DataObject;

// Pass the array of values directly to the constructor
$object = new DataObject([
  'some' => [
    'awesome' => [
      'nested' => 'values'
    ]
  ]
]);

// Getting values
echo $object->some->awesome->nested; // returns 'values'

// Setting values
$object->some->awesome = 'code';

// Getting nested values
echo $object->valueForPath('some.awesome'); // returns 'code'

// Setting nested values
$object->setValueForPath('some.awesome.new.values.are', 'awesome');

// Get a pointer to a value (even if it doesn't exist)
$pointer = &$object->getPointer('some');
$pointer = &$pointer->getPointer('value');
$pointer = 'rules';

// Return the values as an array
$object->toArray();
// returns:
// [
//   'some' => [
//     'awesome' => [
//       'new' => [
//         'values' => [
//           'are' => 'awesome'
//         ]
//       ]
//     ],
//     'value' => 'rules'
//   ]
// ]

// Merge objects together
$merged = $object->merge(new DataObject(['new' => 'values']);
Immutable Objects
<?php

use Molovo\Object\ImmutableObject;

$object = new ImmutableObject([
  'some' => [
    'awesome' => [
      'nested' => 'values'
    ]
  ]
]);

$object->some = 'thing else'; // throws Molovo\Object\Exception\ImmutabilityViolationException
$object->some->awesome->nested = 'changed'; // throws Molovo\Object\Exception\ImmutabilityViolationException

The Versions

19/06 2018

dev-master

9999999-dev

  Sources   Download

The Requires

  • php >=7.1

 

The Development Requires

19/06 2018
21/02 2018
21/02 2018

v2.0.0.x-dev

2.0.0.9999999-dev

  Sources   Download

The Requires

  • php >=7.0

 

The Development Requires

21/02 2018

dev-mergeable_objects

dev-mergeable_objects

  Sources   Download

The Requires

  • php >=5.5

 

The Development Requires

21/02 2018

dev-immutable_objects

dev-immutable_objects

  Sources   Download

The Requires

  • php >=5.5

 

The Development Requires

23/08 2017
21/02 2016
12/01 2016
12/01 2016
12/01 2016
12/01 2016

v0.1.5

0.1.5.0

  Sources   Download

The Requires

  • php >=5.5

 

12/01 2016

v0.1.4

0.1.4.0

  Sources   Download

The Requires

  • php >=5.5

 

12/01 2016

v0.1.3

0.1.3.0

  Sources   Download

The Requires

  • php >=5.5

 

11/01 2016

v0.1.2

0.1.2.0

  Sources   Download

The Requires

  • php >=5.5

 

10/01 2016

v0.1.1

0.1.1.0

  Sources   Download

The Requires

  • php >=5.5

 

10/01 2016

v0.1.0

0.1.0.0

  Sources   Download

The Requires

  • php >=5.5