嗨,我有一个非常简单的类,实现了一个接口.类和接口都在同一个文件中.
当我实现接口时,我得到一个致命的错误"Class not found",但当我删除工具然后尝试使用该类我可以使用它很好???
任何人都可以就此提出任何建议吗?
对不起,这是我目前用来测试的一些代码:
$tester = new TypeOneTester();
$tester->test("Hello");
interface iTestInterface
{
public function test($data);
}
class TypeOneTester implements iTestInterface
{
public function test($data)
{
return $data;
}
}
Run Code Online (Sandbox Code Playgroud)
Jac*_*kin 11
在定义类和接口之后创建类的实例,而不是之前.
在这种情况下,定义的顺序应该是:
这是(非常糟糕的)记录的限制:
http://php.net/manual/pl/migration5.incompatible.php
在某些情况下,必须在使用前声明类.只有在使用PHP 5的某些新功能(例如接口)时才会发生这种情况.否则行为是旧的.
尽管如此,我还是提交了一份错误报告.IMO它应该被修复,因为它是不一致的行为,并且错误消息对任何假设我没有帮助的人,PHP根本不关心你声明函数/类的位置.来吧,它已经存在超过10年了...
https://bugs.php.net/bug.php?id=69665
| 归档时间: |
|
| 查看次数: |
9613 次 |
| 最近记录: |