Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么时候需要在实例化之前定义类?_Php_Oop - Fatal编程技术网

Php 什么时候需要在实例化之前定义类?

Php 什么时候需要在实例化之前定义类?,php,oop,Php,Oop,在PHP文档中,它说: 类应该在实例化之前定义(在某些情况下这是一项要求) 有人能给我举一个类的例子吗?这个类除非之前定义过,否则不能被实例化 if (true) { new Foo; class Foo { } } 解析规则与函数的规则相同:如果它们是在文件的“顶层”中定义的,那么它们将在解析文件的过程中被解析。如果它们是在一段需要运行时评估的代码中定义的,那么类或函数将仅在代码执行时定义,在这种情况下,在代码“执行”之前不能使用它 我不知道可以实例化一个未定义的类,除了st

在PHP文档中,它说:

类应该在实例化之前定义(在某些情况下这是一项要求)

有人能给我举一个类的例子吗?这个类除非之前定义过,否则不能被实例化

if (true) {
    new Foo;
    class Foo { }
}

解析规则与函数的规则相同:如果它们是在文件的“顶层”中定义的,那么它们将在解析文件的过程中被解析。如果它们是在一段需要运行时评估的代码中定义的,那么类或函数将仅在代码执行时定义,在这种情况下,在代码“执行”之前不能使用它

我不知道可以实例化一个未定义的类,除了
stdClass
,但这是在PHP核心中定义的。但这里的意思可能是未定义类的非序列化,这将给您一个警告和一个不完整的类(
PHP\u complete\u class