
<?php class Logger { const LOG_HTML = 2; const LOG_ADD_EOL = 4; const LOG_PID = 8; const LOG_TIME = 16; const LOG_URI = 32; const LOG_BACKTRACE = 64; [...] // $mode=self::LOG_URI // + self::LOG_TIME <== tu mi wywala błąd... // + self::LOG_ADD_EOL // + self::LOG_BACKTRACE) { $mode=84) { // rozwiązanie tymczasowe - to działa
Krótkie pytanie: DLACZEGO?
Próbowałem (chyba) każdego sposobu: łączenia przez "|", używania nazw bez "self::", i innych podobnych wygibasów. Dodam, że wewnątrz metod odwołania postaci "self::CONSTANT" są jak najbardziej prawidłowe i działają dokładnie tak, jak tego oczekuję.
PHP 5.3.2/Win32
P.S.
Tak, wiem: singleton i inne wzorce. Ale chodzi o coś innego - powtórzę pytanie: "dlaczego to nie działa, i co zrobić, by zadziałało".