<?php
class A extends B {}
class B implements C {}
interface C {}
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出“严重错误:未找到类'B'” ...这是一个PHP错误吗?要么?
环境:“带有Suhosin-Patch的PHP 5.3.6-13ubuntu3.2(cli)(内置:2011年10月13日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“
您在类定义的顺序上遇到了麻烦。只要接口在同一个文件中定义,就可以在任何地方声明-但是必须定义类,然后才能对其进行扩展。
以下是PHP中完全有效的顺序:
class B implements C { ... }
class A extends B { ... }
interface C { ... }
Run Code Online (Sandbox Code Playgroud)
一个类似问题的答案(PHP中类定义的顺序重要吗?)提到了Autoloading。如果您使用多个文件,则可能需要调查一下。
| 归档时间: |
|
| 查看次数: |
2917 次 |
| 最近记录: |