3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Request { public function hello() { return 'hello '; } } class App { public function name() { return 'the app'; } public function response(Request $req, App $app) { return $req->hello().$app->name(); } } //依赖查找 or 自动依赖注入 $c['App'] = new App; $c['Request'] = new Request; $r = new ReflectionMethod('App', 'response'); $params = $r->getParameters(); $params = array_map(function($p) use ($c) { $className = $p->getClass()->name; return $c[$className]??null; }, $params); $res = $r->invokeArgs($c['App'], $params); //手动依赖注入 $app = new App; $req = new Request; $res = $app->response($req, $app);

preferences:
69.92 ms | 402 KiB | 5 Q