PHP未分配的类实例?

我注意到
PHP似乎允许以下内容:

<?php

class StandAlone {
    public function __construct() {
        echo "I am constructed!";
    }

    public function __destruct() {
        echo "I am destructed!";
    }
}

new StandAlone;

没有任何大惊小怪.

这是一个错误,因为PHP应该引发错误吗?或者这是允许的,并且类实例只是存在于某个地方的内存中,无法直接访问该特定实例?

最佳答案 类实例不需要存储在变量中.例如,您可以将其作为参数传递给接受StandAlone对象作为其参数的函数.它存在于内存中,表示正在使用的脚本执行期间的时间.如果从未分配,则构造,销毁和释放.

call_a_function(new StandAlone);

我想不出任何实际的情况,你会调用新的Object而不分配它或传递给一个函数,但是只需定义一个函数来做一些工作而不是一个类就不会更好.

点赞