Как автоматически загружать интерфейсы до реализации в Stack Overflow

Я использую эти функции для автозагрузки моей папки классов фильтров:

set_include_path(implode(PATH_SEPARATOR, BASE_PATH.'/protected/core/filter'));
spl_autoload_register();

В папке фильтра есть эти файлы:

-CFilter.php
-CFilterChain.php
-CFilerChainImp.php
-CTTMvcFilter.php

CFilterChain — это интерфейс, и CFilterChainImp реализовал его. CFilter — это интерфейс, и CTTMvcFilter его реализовал.
Проблема в том, что это будет автоматически загружаться, если я запускаю код в XAMPP на Windows. Но не может работать на Linux, таких как Ubuntu 14.04.
Он будет загружать CFilterChainImp до CFilterChain или иначе загружать классы до интерфейсов. Поэтому будет сказано, что интерфейс CFilterChain или интерфейс CFilter не найден из-за его загрузки после классов CFilerChainImp и CTTMvcFilter.
Как я могу автоматически загружать их, но сначала с помощью интерфейсов, а затем классов.

Спасибо вам большое!

Обновление: у меня была ошибка опечатки прежде, я отредактировал вопрос, чтобы исправить это.

0

Решение

CFIlter.php

Это должно быть CFIlter.php или же CFilter.php? (Капитализация на I отличается.) Если прописное имя файла не совпадает с именем класса, оно не будет загружаться в Linux, потому что Linux чувствителен к регистру, а Windows — нет.

2

Другие решения

Других решений пока нет …