【问题标题】:Is there any overhead of using a PHP Class Object vs a Static Class Method?使用 PHP 类对象与静态类方法是否有任何开销?
【发布时间】:2011-01-08 02:09:56
【问题描述】:

我想知道在 PHP 中使用 Object 而不是使用基于我下面的示例的静态方法是否有任何额外开销?

来自 Session 类的 Session 对象

$session = new Session;
$session->set(user_id, $uswer_id); //set session var
$session->get(user_id);            // get session var

VS


Session 类的静态方法

Session::set(user_id, $uswer_id); //set session var
Session::get(user_id);            // get session var

【问题讨论】:

标签: php performance object


【解决方案1】:

您可以使用memory_get_usage() 测试内存使用情况。我会假设静态类使用更少的内存。但差异可能可以忽略不计。由于无法访问您的项目,我只能鼓励您使用上述功能设置自己的小测试,看看情况如何。

【讨论】:

    【解决方案2】:

    会有一点开销,因为需要创建一个对象并将其放置在内存中。但问题是,它是否引人注目。

    我的意见是,您应该寻找最方便的方法。这种优化多为微优化

    【讨论】:

      【解决方案3】:

      在 OO 语言中,静态方法和对象各有优缺点。静态方法和对象使用的资源量可能存在细微差异,并且它们的性能可能因系统配置而异。

      与像全局变量一样的静态方法不同,对象可以多次声明和使用。即使这样,对象和静态方法的使用也取决于手头的项目。

      【讨论】:

        猜你喜欢
        • 2012-03-12
        • 1970-01-01
        • 2016-06-26
        • 2021-10-05
        • 1970-01-01
        • 1970-01-01
        • 2013-08-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多