<?php
class A extends B {}
class B implements C {}
interface C {}上面的代码抛出“致命错误:找不到类'B‘”...是php bug吗?或?
环境:"PHP 5.3.6-13ubuntu3.2 with Suhosin-Patch (cli) (built: Oct 13 2011 23:19:13)版权所有(c) 1997-2011 PHP Group Zend Engine v2.3.0,版权所有(c) 1998-2011 Zend Technologies with Xdebug v2.1.0,版权所有(c) 2002-2010,作者: Derick Rethans“
发布于 2011-12-01 14:42:30
具体而言,您在类定义的顺序方面遇到了问题。只要接口是在同一个文件中定义的,就可以在任何地方声明它-但是必须先定义类,然后才能扩展它们。
以下是PHP中完全有效的顺序:
class B implements C { ... }
class A extends B { ... }
interface C { ... }这就是a closed bug requesting clarification in the PHP5 docs。
一个类似问题的答案(Does the order of class definition matter in PHP?)提到了Autoloading。如果你使用多个文件,你可能会想要研究一下这个问题。
发布于 2011-12-01 14:19:56
您正在以错误的顺序声明类和接口。这是正确的:
interface C {}
class B implements C {}
class A extends B {}https://stackoverflow.com/questions/8337286
复制相似问题