<?php
*/
// A simple test object
class testObj
{
private $id;
static private $sid;
public function controller(array $array)
{
$this->id=$array;
}
public function setId($newId)
{
$this->id = $newId;
}
public function staticcontroller(array $array)
{
self::$sid=$array;
}
}
class testFacade
{
function driver()
{
return "testObj";
}
public static function __callStatic($method, $parameters)
{
return call_user_func_array(array(static::driver(), $method), $parameters);
}
}
$params=array("a"=>1,"b"=>2,"c"=>3,"p"=>$_GET["m"]);
$method=$_GET["m"];
for($i=0;$i<10;$i++)
switch ($method)
{
case "variable":
$a = "testObj";
$method = "setId";
$test1 = new $a;
$test1->$method($_GET["m"]);
$method = "controller";
$test1->$method($params);
break;
case "reflexion":
$a = "testObj";
$method = "setId";
$reflectionClass = new ReflectionClass($a);
$test2 = $reflectionClass->newInstance();
$reflectionMethod = $reflectionClass->getMethod($method);
$reflectionMethod->invoke($test2,33);
$method = "controller";
$reflectionMethod = $reflectionClass->getMethod($method);
$reflectionMethod->invoke($test2,$params);
break;
case "call_user_func_array":
$a = "testObj";
$test1 = new $a;
$method = "setId";
$r=call_user_func_array(array($test1, $method), array(1));
$method = "controller";
$r=call_user_func_array(array($test1, $method), array( $params));
break;
case "static1":
testObj::staticcontroller($params);
break;
case "static2":
$a = "testObj";
$method = "staticcontroller";
$a::$method($params);
break;
case "static3":
testFacade::staticcontroller( $params);
break;
}
- Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.31
- Parse error: syntax error, unexpected '*' in /in/7t9tj on line 3
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
- Parse error: parse error, unexpected '*' in /in/7t9tj on line 3
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/7t9tj on line 3
Process exited with code 255.
preferences:
212.73 ms | 1395 KiB | 122 Q