PHP未分配的类实例?

标签 php class

我注意到 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/

相关文章:

php - 使用 javascript 和/或 php 生成 pdf 的更好方法是什么?

java - 如何通过类的对象来修改整个类调用链中的变量?

php - 在整个 Codeigniter Controller 中重用类

php - 如何将 php 代码集成到 vuejs 项目中以进行生产构建?

php - 提交后如何停止重新加载页面?

C++:为什么必须声明私有(private)函数?

c++ - 从 C++ 类调用 .cu 文件中的内联函数

javascript - 如何调用javascript变量 "like class"

类定义中的 Python 非局部语句

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?