- var_dump: documentation ( source)
- class_exists: documentation ( source)
- filter_var_array: documentation ( source)
- explode: documentation ( source)
- is_callable: documentation ( source)
<?php
class Dos{
function __construct(){
return 888888;
}
}
class Container{
public static function _post($campo = 0, $callback = false)
{
list($post_key, $class) = explode('@', $campo);
if (!empty($_POST))
{
foreach (filter_var_array($_POST, FILTER_SANITIZE_ENCODED) as $key => $val)
{
if ($key == $post_key && empty($callback)) {
return $val;
}
if ($key == $post_key && is_callable($callback)) {
$oj = $callback->bindTo($callback);
var_dump($oj());
$obj = (class_exists($class)) ? new $class() : "";
(class_exists($class)) ? call_user_func($callback, $obj) : call_user_func($callback);
}
}
}
return false;
}
}
class Uno{
public $uno = 1;
function __construct(){
return 123;
}
}
$_POST['hi'] = true;
Container::_post('hi@Uno', function($app,Dos $dos){
var_dump($dos);
});