Chris@0
|
1 Exporter
|
Chris@0
|
2 ========
|
Chris@0
|
3
|
Chris@0
|
4 [](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
|