Ett riktigt irriterande problem, satt och felsökte nu i ca 30 min för en kod inte funkade som den skulle. Jag skrev om koden igen och då funkade det. Gämförde ett bra tag innan jag upptäckte vad som va fel.
Här är koden se om ni kan hitta felet!!Det är den nedre raden som ger fel:
Det råkade bli som en kul gåta som ingen tydligt har gett helt rätt svar på än.
Du råkade alltså skriva $this->mainNav´ istället för det rätta $this->mainNav
Alltså en apostrof eller vad det heter efter v i mainNav, som det inte ska vara.
Det kan ju passa att ta upp sådant i PHP-avdelningen på forumet eftersom det är PHP-kod det handlar om, annars finns även Café webForum, där gåtor mer hör hemma :)
Det som kanske inte är helt uppenbart är det lömska i detta fel. Om koden hade varit ogiltig så TS hade fått ett syntaxfel så hade problemet varit mycket enklare att lösa. Vad som händer nu var att $this fick ett nytt attribut med namn mainNav´ och en av li-taggarna verkade bara försvinna.
För att förvirra ännu mer, medan ´ inte har någon speciell mening och kan användas (även av misstag som i exemplet ovan) i variabelnamn, så är ` ett specialtecken som är ett alias för shell_exec. Man kan med andra ord skriva något i stil med:
$files = `ls -al`;
Det är ett arv från shell scripts i UNIX, men vad tusan den syntaxen har att göra i PHP vet jag inte. Det är den typen av designbeslut som gör att vissa kallar PHP "a fractal of bad design".