Проблемы с круговыми включениями в PHP 5.3 - PullRequest
2 голосов
/ 26 мая 2011

Мы тестируем переход на php 5.3 и видим некоторые странные проблемы. Попытка отследить, что именно происходит. Вот упрощенный сценарий.

Файл a.php

include_once(b.php);
class A {....

Файл b.php

include_once(a.php);
class B extends A {....

В действительности, круговые ссылки происходят по гораздо более запутанному пути с различными другими включениями. Но основная идея заключается в том, что, когда он добирается до определения класса B, он выдает фатальную ошибку, потому что у него не было определения для класса A.

Мысли? Мы пытаемся очистить наши включения, чтобы, надеюсь, предотвратить эти циклические ссылки, но мне любопытно, почему это не удается, особенно учитывая, что это может зависеть от версии.

Спасибо!

1 Ответ

2 голосов
/ 26 мая 2011

Используйте spl_autoload вместо include.
Пример класса автозагрузки и стандарты использования вы можете найти здесь: http://groups.google.com/group/php-standards/web/psr-0-final-proposal?pli=1

Это очистит ваш код, будьте уверены:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...