Popularity
2.3
Growing
Activity
3.4
-
76
12
6

Description

For any pieces of document, please look for the docs/ directory. You may also check up the compiled version

Code Quality Rank: L4
Programming language: PHP
License: MIT License
Latest version: v1.4.3

Totem alternatives and similar libraries

Based on the "Data Structure and Storage" category.
Alternatively, view Totem alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Totem or a related project?

Add another 'Data Structure and Storage' Library

README

Totem

License Build Status Latest Stable Version Total Downloads Scrutinizer Quality Score Coverage Status SensioLabsInsight

       \\\\////
        |.)(.|
        | || |   Changeset calculator between two state of a data
        \(__)/   Requires PHP 5.4 ; Compatible PHP 5.5, PHP 5.6, PHP 7 and HHVM
        |-..-|
        |o\/o|
   .----\    /----.
  / / / |~~~~| \ \ \
 / / / /|::::|\ \ \ \
'-'-'-'-|::::|-'-'-'-'
       (((^^)))
        >>><<<   Snapshots currently natively supported :
        ||||||   - Array
        (o)(o)   - Object
        | /\ |   - Collection
        (====)
       _(_,__)
      (___\___)

Documentation

For any pieces of document, please look for the docs/ directory. You may also check up the compiled version

Installation

You have multiple ways to install Totem. If you are unsure what to do, go with the archive release.

Archive Release

  1. Download the most recent release from the release page
  2. Unpack the archive
  3. Move the files somewhere in your project

Development version

  1. Install Git
  2. git clone git://github.com/Wisembly/Totem.git

Via Composer

  1. Install composer in your project: curl -s http://getcomposer.org/installer | php
  2. Create a composer.json file (or update it) in your project root:

    
      {
        "require": {
          "wisembly/totem": "^1.4"
        }
      }
    
  3. Install via composer : php composer.phar install

Basic Usage

<?php

use Totem\Snapshot\ArraySnapshot;

$array = ['foo' => 'bar', 'baz' => 'qux'];
$snapshot = new ArraySnapshot($array); // Totem\Snapshot\ArraySnapshot

$array['foo'] = 'fubar';
$set = $snapshot->diff(new ArraySnapshot($array)); // Totem\Set

var_dump($set->hasChanged('foo'),
         $set->getChange('foo')->getOld(),
         $set->getChange('foo')->getNew(),
         $set->hasChanged('bar'));

/* 
 * expected result :
 *
 * bool(true)
 * string(3) "bar"
 * string(5) "fubar"
 * bool(false)
 */

Running Tests

  1. Install phpunit if not already installed
  2. Run phpunit on the project


*Note that all licence references and agreements mentioned in the Totem README section above are relevant to that project's source code only.