Недавно перешел на PHP7, в целом миграция прошла хорошо, за исключением того, что PHP не хочет видеть класс-родитель у потомков (ООП).
Есть директория, в которой находится список файлов-классов, некоторые классы базовые, некоторые наследуются через extends (например, class User_Activation extends User). Сборка осуществляется автоматически:
$includes_dir = opendir('./includes/core');
while (($inc_file = readdir($includes_dir)) != false)
if (strstr($inc_file,'.php')) include('./includes/core/'.$inc_file);
В директории файлы лежат в виде:
class_user.php
class_user_activation.php
...
class_user_gallery.php
...
Когда запускается скрипт, то выкидывает ошибку, что класс User не найден (не найден объект наследования), хотя он даже по порядку файла должен был уже загрузиться. В PHP 5 все работает как надо.
Если прописать вручную загрузку первым файла class_user.php, то все работает как надо.
В чем может быть проблема?
string readdir ([ resource $dir_handle ] )
Возвращает имя следующего по порядку элемента каталога. Элементы возвращаются в том порядке, в котором они хранятся в файловой системе.
Вы уверены, что в вашей ФС файлы хранятся именно в том порядке, как вам надо? Я бы на это не закладывался. Никогда.
И как правильно отметил @Lexx918, давно пора перейти на автозагрузку классов
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! Скажу сразу, это проблемная для меня темаВ ветви HKEY_CURRENT_USER нужно изменить значение ColorizationGlassReflectionIntensity, находящееся в Software\\Microsoft\\Windows\\DWM
Можно ли как-то изменить степень размытия фона эффекта AeroGlass через DWM API?