Changeset 766 for branches/1.3/decompilesample.php
- Timestamp:
- 2011-04-18T06:29:25+02:00 (2 years ago)
- Location:
- branches/1.3
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
decompilesample.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.3
-
branches/1.3/decompilesample.php
r739 r766 1 1 <?php 2 2 3 class ClassName 4 { 3 //* >= PHP 5.3 4 namespace ns; 5 // */ 6 7 abstract class ClassName 8 { 9 const CONST_VALUE = 'A constant value'; 10 5 11 /** doc */ 6 12 static public $static = array( … … 29 35 public function __construct($a, $b) 30 36 { 31 } 37 echo CONST_VALUE; 38 echo ClassName::CONST_VALUE; 39 unset(ClassName::$classProp); 40 unset($obj->objProp); 41 unset($this->thisProp); 42 unset($array['index']->valueProp); 43 unset($obj->array['index']); 44 unset($this->array['index']); 45 $obj->objProp = 1; 46 $this->thisProp = 1; 47 $array['index']->valueProp = 1; 48 $array['index'] = 1; 49 $array[1] = 1; 50 } 51 52 /** doc */ 53 abstract public function abastractMethod(); 32 54 33 55 /** doc */ … … 65 87 } 66 88 89 interface IInterface 90 { 91 public function nothing(); 92 } 93 94 function f1($f) 95 { 96 echo __FUNCTION__; 97 echo $f; 98 } 99 100 final class Child extends ClassName implements IInterface 101 { 102 public function __construct() 103 { 104 parent::__construct(); 105 ClassName::__construct(); 106 echo __CLASS__; 107 echo __METHOD__; 108 throw new Exception(); 109 $this->methodCall(); 110 } 111 112 public function __destruct() 113 { 114 parent::__destruct(); 115 functionCall(); 116 } 117 118 static public function __callStatic($name, $args) 119 { 120 } 121 122 public function __toString() 123 { 124 } 125 126 public function __set($name, $value) 127 { 128 } 129 130 public function __get($name) 131 { 132 } 133 134 public function __isset($name) 135 { 136 } 137 138 public function __unset($name) 139 { 140 } 141 142 public function __sleep() 143 { 144 } 145 146 public function __wakeup() 147 { 148 } 149 150 public function __clone() 151 { 152 return array(); 153 } 154 } 155 156 if ($late) { 157 class LateBindingClass 158 {} 159 160 function lateBindingFunction($arg) 161 { 162 echo 'lateFunction'; 163 } 164 } 165 166 echo "\r\n"; 167 echo "\r"; 168 echo "\n"; 169 echo str_replace(array('a' => 'a', 'b' => 'c'), 'b'); 170 $object = new ClassName(); 171 $object = new $className(); 172 $result = $object instanceof ClassName; 173 $cloned = clone $object; 174 $a = 1; 175 $a = $b + $c; 176 $a = $b + 1; 177 $a = 1 + $b; 178 $a = $b - $c; 179 $a = $b * $c; 180 $a = $b / $c; 181 $a = $b % $c; 182 $a = $b . $c; 183 $a = $b = $c; 184 $a = $b & $c; 185 $a = $b | $c; 186 $a = $b ^ $c; 187 $a = ~$b; 188 $a = -$b; 189 $a = +$b; 190 $a = $b >> $c; 191 $a = $b >> $c; 192 $a = $b == $c; 193 $a = $b === $c; 194 $a = $b != $c; 195 $a = $b < $c; 196 $a = $b <= $c; 197 $a = $b <= $c; 198 $a = $b++; 199 $a = ++$b; 200 $a = $obj->b++; 201 $a = ++$obj->b; 202 $a = $b--; 203 $a = --$b; 204 $a = $obj->b--; 205 $a = --$obj->b; 206 $a = $b xor $c; 207 $a = !$b; 208 $a = $b === $c; 209 $a = $b !== $c; 210 $a = $b << 2; 211 $a = $b >> 3; 212 $a += $b; 213 $a -= $b; 214 $a *= $b; 215 $a /= $b; 216 $a <<= $b; 217 $a >>= $b; 218 $a &= $b; 219 $a |= $b; 220 $a .= $b; 221 $a %= $b; 222 $a ^= $b; 223 $a = 'a' . 'b'; 224 $a = 'a' . 'abc'; 225 @f1(); 226 print('1'); 227 ref(&$a); 228 $a = $array['index']; 229 $a = $object->prop; 230 $a = $this->prop; 231 $array['index'] = 1; 232 $object->prop = 1; 233 $this->prop = 1; 234 $a = isset($b); 235 $a = empty($b); 236 $a = isset($array['index']); 237 $a = empty($array['index']); 238 $a = isset($object->prop); 239 $a = empty($object->prop); 240 $a = isset($this->prop); 241 $a = empty($this->prop); 242 $a = (int) $b; 243 $a = (double) $b; 244 $a = (string) $b; 245 $a = (array) $b; 246 $a = (object) $b; 247 $a = (bool) $b; 248 $a = (unset) $b; 249 $a = (array) $b; 250 $a = (object) $b; 251 // PHP6+ $a = (scalar) $b; 252 $a = $b ? $c : $d; 253 $a = f1() ? f2() : f3(); 254 $a = $b and $c; 255 $a = $b or $c; 256 $a = $b && $c; 257 $a = $b || $c; 258 259 try { 260 echo 'outer try 1'; 261 try { 262 echo 'inner try'; 263 } 264 catch (InnerException $e) { 265 echo $e; 266 } 267 echo 'outer try 2'; 268 } 269 catch (OuterException $e) { 270 echo $e; 271 } 272 273 if ($a) { 274 echo 'if ($a)'; 275 } 276 else if ($b) { 277 echo 'else if ($b)'; 278 } 279 else { 280 echo 'else'; 281 } 282 283 while (false) { 284 echo 'while'; 285 } 286 287 do { 288 echo 'do/while'; 289 } while (false); 290 291 for ($i = 1; $i < 10; ++$i) { 292 echo $i; 293 break; 294 } 295 296 foreach ($array as $key => $value) { 297 foreach ($array as $key => $value) { 298 echo $key . ' = ' . $value . "\n"; 299 break 2; 300 continue; 301 } 302 } 303 304 switch ($switch) { 305 case 'case1': 306 echo 'case1'; 307 break; 308 309 case 'case2': 310 echo 'case2'; 311 break; 312 313 default: 314 echo 'default'; 315 break; 316 } 317 318 declare (ticks=1) { 319 echo 1; 320 echo 2; 321 } 322 323 require 'require.php'; 324 require_once 'require_once.php'; 325 include 'include.php'; 326 include_once 'include_once.php'; 327 echo __FILE__; 328 echo __LINE__; 329 330 //* 331 echo 'PHP 5.3+ code testing'; 332 const CONST_VALUE = 1; 333 echo $this::CONST_VALUE; 334 echo $a::CONST_VALUE; 335 echo CONST_VALUE; 336 $this::__construct(); 337 $obj::__construct(); 338 339 $a = $b ?: $d; 340 $a = ($b ?: $d) + $c; 341 $a = f1() ?: f2(); 342 343 echo 'goto a'; 344 goto a; 345 346 for ($i = 1; $i <= 2; ++$i) { 347 goto a; 348 } 349 350 a: 351 echo 'label a'; 352 echo preg_replace_callback('~-([a-z])~', function ($match) { 353 return strtoupper($match[1]); 354 }, 'hello-world'); 355 $greet = function ($name) { 356 printf("Hello %s\r\n", $name); 357 }; 358 $greet('World'); 359 $greet('PHP'); 360 $total = 0; 361 $tax = 1; 362 $callback = function ($quantity, $product) use ($tax, &$total) { 363 static $static = array(1); 364 $tax = 'tax'; 365 $pricePerItem = constant('PRICE_' . strtoupper($product)); 366 $total += $pricePerItem * $quantity * ($tax + 1); 367 }; 368 // */ 369 exit(); 67 370 68 371 ?>
Note: See TracChangeset
for help on using the changeset viewer.

