Mam abstrakcyjną klasę Module
z metodą showModule()
oraz klasy dziedziczące:
-
CategoryModule
- wyświetla dwie tabele, korzystając z danych pobranych z bazy MySQL -
InfoModule
- wyświetla krótką informację, później ma zostać rozbudowana
Główna klasa programu tworzy tablicę obiektów rozszerzających Module
i wykonuje na nich metodę:
$modules = getModules();
foreach ($modules as $module) {
Utilities::log(get_class($module)); //wyświetla nazwę klasy w konsoli JavaScript; użyte tylko dla przykładu
$module->showModule();
}
Konsola przeglądarki wyświetla mi poprawnie kolejność:
CategoryModule
InfoModule
Ale na stronie informacja z InfoModule
umieszcza się nie na końcu, a pomiędzy dwoma tabelami z CategoryModule
. Na pewno nie jest to wina CSSa. Z nieznanych mi przyczyn kolejna iteracja pętli foreach
jest wykonywana, gdy metoda showModule()
uruchomiona w poprzedniej iteracji jeszcze się nie zakończyła.
Może mnie ktoś oświecić, co robię źle?