drupal/core/vendor/sebastian/exporter
webchick da85a66183 Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
..
src Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
tests Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
.gitignore Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
.travis.yml Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
LICENSE Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
README.md Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
build.xml Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
composer.json Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00
phpunit.xml.dist Issue #2114823 by alexpott, neclimdul, Xano, cosmicdreams, chx: Update PHPUnit to 4.x. 2014-06-14 22:29:44 -07:00

README.md

Exporter

Build Status

This component provides the functionality to export PHP variables for visualization.

Usage

Exporting:

<?php
use SebastianBergmann\Exporter\Exporter;

/*
Exception Object &0000000078de0f0d000000002003a261 (
    'message' => ''
    'string' => ''
    'code' => 0
    'file' => '/home/sebastianbergmann/test.php'
    'line' => 34
    'trace' => Array &0 ()
    'previous' => null
)
*/

print new Exporter(new Exception);

Data Types

Exporting simple types:

<?php
use SebastianBergmann\Exporter\Exporter;

// 46
print new Exporter(46);

// 4.0
print new Exporter(4.0);

// 'hello, world!'
print new Exporter('hello, world!');

// false
print new Exporter(false);

// NAN
print new Exporter(acos(8));

// -INF
print new Exporter(log(0));

// null
print new Exporter(null);

// resource(13) of type (stream)
print new Exporter(fopen('php://stderr', 'w'));

// Binary String: 0x000102030405
print new Exporter(chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5));

Exporting complex types:

<?php
use SebastianBergmann\Exporter\Exporter;

/*
Array &0 (
    0 => Array &1 (
        0 => 1
        1 => 2
        2 => 3
    )
    1 => Array &2 (
        0 => ''
        1 => 0
        2 => false
    )
)
*/

print new Exporter(array(array(1,2,3), array("",0,FALSE)));

/*
Array &0 (
    'self' => Array &1 (
        'self' => Array &1
    )
)
*/

$array = array();
$array['self'] = &$array;
print new Exporter($array);

/*
stdClass Object &0000000003a66dcc0000000025e723e2 (
    'self' => stdClass Object &0000000003a66dcc0000000025e723e2
)
*/

$obj = new stdClass();
$obj->self = $obj;
print new Exporter($obj);

Compact exports:

<?php
use SebastianBergmann\Exporter\Exporter;

// Array ()
$exporter = new Exporter(array());
print $exporter->shortenedExport();

// Array (...)
$exporter = new Exporter(array(1,2,3,4,5));
print $exporter->shortenedExport();

// stdClass Object ()
$exporter = new Exporter(new stdClass);
print $exporter->shortenedExport();

// Exception Object (...)
$exporter = new Exporter(new Exception);
print $exporter->shortenedExport();

// this\nis\na\nsuper\nlong\nstring\nt...\nspace
$exporter = new Exporter(
<<<LONG_STRING
this
is
a
super
long
string
that
wraps
a
lot
and
eats
up
a
lot
of
space
LONG_STRING
);
print $exporter->shortenedExport();

Installation

There are two supported ways of installing Exporter.

You can use the PEAR Installer or Composer to download and install Exporter as well as its dependencies.

PEAR Installer

The following two commands (which you may have to run as root) are all that is required to install Exporter using the PEAR Installer:

pear config-set auto_discover 1
pear install pear.phpunit.de/Exporter

Composer

To add Exporter as a local, per-project dependency to your project, simply add a dependency on sebastian/exporter to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a dependency on Exporter 1.0:

{
    "require": {
        "sebastian/exporter": "1.0.*"
    }
}