gpt4 book ai didi

PHP:性能:splat 运算符或反射

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:56:39 24 4
gpt4 key购买 nike

在我正在创建的应用程序中,我需要将未知数量的参数传递给类的未知构造函数。类(+ 命名空间)是一个字符串,在 $class 中。参数在一个数组中。

此应用程序将在几个月内部署,因此我们认为我们已经可以在 PHP 5.6 中开发它。所以我认为这个解决方案是:

$instance = new $class(...$args);

这是工作...

但是我的同事不想接受这个,因为CI服务器不理解这行代码。他们的解决方案是:

$reflect = new \ReflectionClass($class);
$instance = $reflect->newInstanceArgs($args)

现在:两者都工作正常,所以这不是问题。但我的想法是反射比使用其他方式(如 PHP 5.6 splat 运算符)慢。

还有一个问题:反射是一种好方法吗?我应该从 CI 服务器理解该行的那一刻起使用 splat 运算符吗?

最佳答案

肯定会选择 splat 运算符,为什么?它比反射方法快得多(我正在使用它并且实现似乎非常好)。此外,反射几乎可以打破任何与设计有关的东西,例如,它可以让您打破封装。

PS: 不是$instance = new $class(...$args);

关于PHP:性能:splat 运算符或反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24634165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com