我注意到 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);
我想不出任何实际情况,你会在没有分配它或传递给一个函数的情况下调用 new Object
,而仅仅定义一个函数来做一些工作而不是类,但是。
关于PHP未分配的类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041530/