1--TEST-- 2output buffering - handlers/status 3--FILE-- 4<?php 5function a($s){return $s;} 6function b($s){return $s;} 7function c($s){return $s;} 8function d($s){return $s;} 9 10class E { 11 public static function f($s) { 12 return $s; 13 } 14 15 public function g($s) { 16 return $s; 17 } 18 19 public function __invoke($s) { 20 return $s; 21 } 22} 23 24$e = new E(); 25 26ob_start(); 27ob_start('a'); 28ob_start('b'); 29ob_start('c'); 30ob_start('d'); 31ob_start(['E', 'f']); 32ob_start([$e, 'g']); 33ob_start($e); 34ob_start(function ($s) { return $s; }); 35ob_start(); 36 37echo "foo\n"; 38 39ob_flush(); 40ob_end_clean(); 41ob_flush(); 42 43print_r(ob_list_handlers()); 44print_r(ob_get_status()); 45print_r(ob_get_status(true)); 46 47?> 48--EXPECTF-- 49foo 50Array 51( 52 [0] => default output handler 53 [1] => a 54 [2] => b 55 [3] => c 56 [4] => d 57 [5] => E::f 58 [6] => E::g 59 [7] => E::__invoke 60 [8] => Closure::__invoke 61) 62Array 63( 64 [name] => Closure::__invoke 65 [type] => 1 66 [flags] => 20593 67 [level] => 8 68 [chunk_size] => 0 69 [buffer_size] => 16384 70 [buffer_used] => %d 71) 72Array 73( 74 [0] => Array 75 ( 76 [name] => default output handler 77 [type] => 0 78 [flags] => 112 79 [level] => 0 80 [chunk_size] => 0 81 [buffer_size] => 16384 82 [buffer_used] => 0 83 ) 84 85 [1] => Array 86 ( 87 [name] => a 88 [type] => 1 89 [flags] => 113 90 [level] => 1 91 [chunk_size] => 0 92 [buffer_size] => 16384 93 [buffer_used] => 0 94 ) 95 96 [2] => Array 97 ( 98 [name] => b 99 [type] => 1 100 [flags] => 113 101 [level] => 2 102 [chunk_size] => 0 103 [buffer_size] => 16384 104 [buffer_used] => 0 105 ) 106 107 [3] => Array 108 ( 109 [name] => c 110 [type] => 1 111 [flags] => 113 112 [level] => 3 113 [chunk_size] => 0 114 [buffer_size] => 16384 115 [buffer_used] => 0 116 ) 117 118 [4] => Array 119 ( 120 [name] => d 121 [type] => 1 122 [flags] => 113 123 [level] => 4 124 [chunk_size] => 0 125 [buffer_size] => 16384 126 [buffer_used] => 0 127 ) 128 129 [5] => Array 130 ( 131 [name] => E::f 132 [type] => 1 133 [flags] => 113 134 [level] => 5 135 [chunk_size] => 0 136 [buffer_size] => 16384 137 [buffer_used] => 0 138 ) 139 140 [6] => Array 141 ( 142 [name] => E::g 143 [type] => 1 144 [flags] => 113 145 [level] => 6 146 [chunk_size] => 0 147 [buffer_size] => 16384 148 [buffer_used] => 0 149 ) 150 151 [7] => Array 152 ( 153 [name] => E::__invoke 154 [type] => 1 155 [flags] => 113 156 [level] => 7 157 [chunk_size] => 0 158 [buffer_size] => 16384 159 [buffer_used] => %d 160 ) 161 162 [8] => Array 163 ( 164 [name] => Closure::__invoke 165 [type] => 1 166 [flags] => 20593 167 [level] => 8 168 [chunk_size] => 0 169 [buffer_size] => 16384 170 [buffer_used] => %d 171 ) 172 173) 174