heyday/silverstripe-flexibledataformatters

There is no license information available for the latest version (0.3.1) of this package.

0.3.1 2013-08-21 03:42 UTC

This package is auto-updated.

Last update: 2024-11-29 04:19:44 UTC


README

Provides a way to easily format a selection of a DataObject's fields used in a custom API. This is often useful when creating your own RESTful API that doesn't use SilverStripes RestfulServer

For a SilverStripe 2.4 compatible version see the branch 0.2.

Installation (with composer)

$ composer require heyday/silverstripe-flexibledataformatters:~0.1

Usage

class MyDataObject extends DataObject implements FlexibleDataFormatterInterface
{
	public static $db = array(
    	'Title' => 'Varchar(255)'
	);

    public function getReadableFields()
    {
        return array(
            'Title'
        );
    }

    public function getDynamicFields()
    {
        return array();
    }
}

$dataObject = new MyDataObject(array('Title' => 'Hello'));
$formatter = new FlexibleJsonDataFormatter();
echo $formatter->convertDataObject($dataObject);

//	Results:
//	{
//		"Title": "Hello"
//	}

Unit testing

Install dev dependencies from within module:

silverstripe-flexibledataformatters/ $ composer install --dev

Use standard phpunit command

silverstripe-flexibledataformatters/ $ phpunit

If you don't have phpunit installed globally:

silverstripe-flexibledataformatters/ $ vendor/bin/phpunit

##License

Flexible Data Formatters is licensed under an MIT license