BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
Exporter

![Build Status](https://secure.travis-ci.org/sebastianbergmann/exporter.png?branch=master)

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

Usage

Exporting:

```php <?php use SebastianBergmann;

$exporter = new Exporter;

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

print $exporter->export(new Exception); ```

Data Types

Exporting simple types:

```php <?php use SebastianBergmann;

$exporter = new Exporter;

// 46 print $exporter->export(46);

// 4.0 print $exporter->export(4.0);

// 'hello, world!' print $exporter->export('hello, world!');

// false print $exporter->export(false);

// NAN print $exporter->export(acos(8));

// -INF print $exporter->export(log(0));

// null print $exporter->export(null);

// resource(13) of type (stream) print $exporter->export(fopen('php://stderr', 'w'));

// Binary String: 0x000102030405 print $exporter->export(chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5)); ```

Exporting complex types:

```php <?php use SebastianBergmann;

$exporter = new Exporter;

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

print $exporter->export(array(array(1,2,3), array("",0,FALSE)));

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

$array = array(); $array['self'] = print $exporter->export($array);

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

$obj = new stdClass(); $obj->self = $obj; print $exporter->export($obj); ```

Compact exports:

```php <?php use SebastianBergmann;

$exporter = new Exporter;

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

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

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

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

// this... print $exporter->shortenedExport( <<<LONG_STRING this is a super long string that wraps a lot and eats up a lot of space LONG_STRING ); ```

Installation

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.*"
    }