如何访问解析助手中传递的解析方法中的参数



解析Game类并传递两个参数。

resolve(Game::class,['param1'=>'hello','param2'=>'world']);

因此,服务容器在解析游戏类对象时会引发一个事件。

$this->app->resolving(Game::class, function (){
echo "<script>alert('hello')</script>";
});

在上面的代码中,我显示了一个警告。如何访问param1param2?在容器事件中,如何使用$app$api或函数?找不到合适的示例。

PHP API Reflection允许您获取有关类构造函数的一些信息,如参数名称、类型等。但它不允许知道传递给此类实例的参数。不过,用这种方法可以很容易地从resolving方法中检索它们

<?php
class Game
{
protected $param1;
protected $param2;
public function __construct($param1, $param2)
{
$this->param1 = $param1;
$this->param2 = $param2;
}
public function getParam1()
{
return $this->param1;
}
public function getParam2()
{
return $this->param2;
}
}
$this->app->resolving(Game::class, function (Game $game, $app){
$param1 = $game->getParam1();
$param2 = $game->getParam2();
});

最新更新