我们正在测试迁移到php 5.3,并且看到了一些奇怪的问题。试图准确追踪发生的事情。这是一个简化的场景。
档案a.php
include_once(b.php);
class A {....
档案b.php
include_once(a.php);
class B extends A {....
实际上,循环引用通过更复杂的路径发生,其他各种包含。但是,主要的想法是,当它到达B类的定义时,它会抛出致命错误,因为它没有A类的定义。
思考?我们正在尝试清理我们的包含以希望阻止这些循环引用,但我很好奇为什么会失败,特别是看到它可能依赖于版本。
谢谢!
答案 0 :(得分:2)
使用spl_autoload代替include
自动加载类的示例和使用标准可以在这里找到:http://groups.google.com/group/php-standards/web/psr-0-final-proposal?pli=1
它会清理您的代码,请确保:)