annotate vendor/sebastian/exporter/README.md @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents 5311817fb629
children
rev   line source
Chris@0 1 Exporter
Chris@0 2 ========
Chris@0 3
Chris@0 4 [![Build Status](https://secure.travis-ci.org/sebastianbergmann/exporter.png?branch=master)](https://travis-ci.org/sebastianbergmann/exporter)
Chris@0 5
Chris@0 6 This component provides the functionality to export PHP variables for visualization.
Chris@0 7
Chris@0 8 ## Usage
Chris@0 9
Chris@0 10 Exporting:
Chris@0 11
Chris@0 12 ```php
Chris@0 13 <?php
Chris@0 14 use SebastianBergmann\Exporter\Exporter;
Chris@0 15
Chris@0 16 $exporter = new Exporter;
Chris@0 17
Chris@0 18 /*
Chris@0 19 Exception Object &0000000078de0f0d000000002003a261 (
Chris@0 20 'message' => ''
Chris@0 21 'string' => ''
Chris@0 22 'code' => 0
Chris@0 23 'file' => '/home/sebastianbergmann/test.php'
Chris@0 24 'line' => 34
Chris@0 25 'trace' => Array &0 ()
Chris@0 26 'previous' => null
Chris@0 27 )
Chris@0 28 */
Chris@0 29
Chris@0 30 print $exporter->export(new Exception);
Chris@0 31 ```
Chris@0 32
Chris@0 33 ## Data Types
Chris@0 34
Chris@0 35 Exporting simple types:
Chris@0 36
Chris@0 37 ```php
Chris@0 38 <?php
Chris@0 39 use SebastianBergmann\Exporter\Exporter;
Chris@0 40
Chris@0 41 $exporter = new Exporter;
Chris@0 42
Chris@0 43 // 46
Chris@0 44 print $exporter->export(46);
Chris@0 45
Chris@0 46 // 4.0
Chris@0 47 print $exporter->export(4.0);
Chris@0 48
Chris@0 49 // 'hello, world!'
Chris@0 50 print $exporter->export('hello, world!');
Chris@0 51
Chris@0 52 // false
Chris@0 53 print $exporter->export(false);
Chris@0 54
Chris@0 55 // NAN
Chris@0 56 print $exporter->export(acos(8));
Chris@0 57
Chris@0 58 // -INF
Chris@0 59 print $exporter->export(log(0));
Chris@0 60
Chris@0 61 // null
Chris@0 62 print $exporter->export(null);
Chris@0 63
Chris@0 64 // resource(13) of type (stream)
Chris@0 65 print $exporter->export(fopen('php://stderr', 'w'));
Chris@0 66
Chris@0 67 // Binary String: 0x000102030405
Chris@0 68 print $exporter->export(chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5));
Chris@0 69 ```
Chris@0 70
Chris@0 71 Exporting complex types:
Chris@0 72
Chris@0 73 ```php
Chris@0 74 <?php
Chris@0 75 use SebastianBergmann\Exporter\Exporter;
Chris@0 76
Chris@0 77 $exporter = new Exporter;
Chris@0 78
Chris@0 79 /*
Chris@0 80 Array &0 (
Chris@0 81 0 => Array &1 (
Chris@0 82 0 => 1
Chris@0 83 1 => 2
Chris@0 84 2 => 3
Chris@0 85 )
Chris@0 86 1 => Array &2 (
Chris@0 87 0 => ''
Chris@0 88 1 => 0
Chris@0 89 2 => false
Chris@0 90 )
Chris@0 91 )
Chris@0 92 */
Chris@0 93
Chris@0 94 print $exporter->export(array(array(1,2,3), array("",0,FALSE)));
Chris@0 95
Chris@0 96 /*
Chris@0 97 Array &0 (
Chris@0 98 'self' => Array &1 (
Chris@0 99 'self' => Array &1
Chris@0 100 )
Chris@0 101 )
Chris@0 102 */
Chris@0 103
Chris@0 104 $array = array();
Chris@0 105 $array['self'] = &$array;
Chris@0 106 print $exporter->export($array);
Chris@0 107
Chris@0 108 /*
Chris@0 109 stdClass Object &0000000003a66dcc0000000025e723e2 (
Chris@0 110 'self' => stdClass Object &0000000003a66dcc0000000025e723e2
Chris@0 111 )
Chris@0 112 */
Chris@0 113
Chris@0 114 $obj = new stdClass();
Chris@0 115 $obj->self = $obj;
Chris@0 116 print $exporter->export($obj);
Chris@0 117 ```
Chris@0 118
Chris@0 119 Compact exports:
Chris@0 120
Chris@0 121 ```php
Chris@0 122 <?php
Chris@0 123 use SebastianBergmann\Exporter\Exporter;
Chris@0 124
Chris@0 125 $exporter = new Exporter;
Chris@0 126
Chris@0 127 // Array ()
Chris@0 128 print $exporter->shortenedExport(array());
Chris@0 129
Chris@0 130 // Array (...)
Chris@0 131 print $exporter->shortenedExport(array(1,2,3,4,5));
Chris@0 132
Chris@0 133 // stdClass Object ()
Chris@0 134 print $exporter->shortenedExport(new stdClass);
Chris@0 135
Chris@0 136 // Exception Object (...)
Chris@0 137 print $exporter->shortenedExport(new Exception);
Chris@0 138
Chris@0 139 // this\nis\na\nsuper\nlong\nstring\nt...\nspace
Chris@0 140 print $exporter->shortenedExport(
Chris@0 141 <<<LONG_STRING
Chris@0 142 this
Chris@0 143 is
Chris@0 144 a
Chris@0 145 super
Chris@0 146 long
Chris@0 147 string
Chris@0 148 that
Chris@0 149 wraps
Chris@0 150 a
Chris@0 151 lot
Chris@0 152 and
Chris@0 153 eats
Chris@0 154 up
Chris@0 155 a
Chris@0 156 lot
Chris@0 157 of
Chris@0 158 space
Chris@0 159 LONG_STRING
Chris@0 160 );
Chris@0 161 ```
Chris@0 162
Chris@0 163 ## Installation
Chris@0 164
Chris@2 165 You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/):
Chris@0 166
Chris@2 167 composer require sebastian/exporter
Chris@2 168
Chris@2 169 If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
Chris@2 170
Chris@2 171 composer require --dev sebastian/exporter
Chris@2 172