Z góry uprzedzam, iż zdecydowałem się napisać o moim problemie na tym forum ( a nie na forum biblioteki OPT ) ponieważ nie jestem do końca pewnien czy dana biblioteka jest przyczyną problemu.
Opisując w skrócie: problem przejawia się tym, że gdy używam biblioteki OPT strona jest wywoływana podwójnie.
A charakteryzując dokładniej: dzieje się tak w firefoxie (w IE nie, narazie innych przeglądarek nie sprawdzałem) oraz (drugi warunek) gdy przechodzę na stronę z innego adresu (bądź odświerzam przez ctrl+f5), co jest powiązane jak się domyślam z buforem przeglądarki. (przy normalnym odświerzeniu strona zostaje wywołana raz)
Aby upewnić się, że problem jest niezależny od mojego frameworka napisałem testowy plik:
<?php class FrameworkException extends Exception{} require "../Core/Classes/File.Class.php"; require "../Core/Libs/opt/opt.class.php"; $opt = new optClass(); $opt->root = "../Application/Views/Templates/"; $opt->compile = "../Application/Views/Templates_c/"; $opt->plugins = "../Core/Libs/opt/plugins/"; $opt -> httpHeaders(OPT_HTML); $opt->parse('_header.php'); $file->write("Koniec pliku index.php\n\n---------------------------------\n\n"); $file->close(); ?>
W opisanych powyżej warunkach, za jednym przeładowaniem strony wiadomość "Koniec pliku..." loguje się 2 razy.
Po usunięciu kodu klasy OPT, a dokładnie linii wywołującej parser, problem znika i w każdym przypadku dostaje raz zalogowaną wiadomość.
Czy ktoś ma pojęcie co jest źle? A może nic nie jest źle tylko ja nie mam o czymś pojęcia. Każda sugestia będzie mile widziana, bo szukam rozwiązania już od kilkunastu godzin.
Ja w każdym razie nie wiem jak OPT może wpływać na ponowne wywołanie adresu.
Z góry dziękuje za odpowiedź.
[EDIT] Ze smarty zachowuje się tak samo. Więc jaki czynnik z tych szablonów wpływa (w sumie już nie wiem co) server, przeglądarkę?