Функция вызывается в цикле.
Внутри функции объявлен класс, в итоге ошибка "Cannot redeclare class"
Если я класс вынесу из функции она ведь перестанет его видеть? Функция же видит переменные либо только принятые, либо объявленные внутри неё? Как правильно спроектировать такой случай? Переделать класс в функцию тоже?
Вы какой-то ерундой занимаетесь.
По нормальному файл с классом кроме самого класса больше ничего не должен содержать.
Далее делаете автозагрузку классов по PSR-4 и забываете о Cannot redeclare class на всю оставшуюся жизнь.
> Что-то? В PHP все, функции, классы и прочее регистрируются в глобальной области видимости.
Т.е. функцию внутри функции я не могу объявить? (хотя работает)