$this bij Include vanuit een classe
Johan Dam
02/07/2010 10:18:38Yoo, had een klein dingetje waar ik zo niet uit kom,
Als je vanuit een classe een pagina include, dan kan je vanuit die pagina de $this variabele gebruiken. Ik zou liever zien dat dit niet zo was, maar helaas, unset($this) werkt niet, (al lijkt me dat sowieso een slecht idee, maar vooruit)
even een voorbeeldje,
en dan in de pagina iets van
echo $this->private_var;
wat mooi de tekst 'erg geheim' geeft.
Ik weet zo geen andere oplossing dan in de pagina zelf unset($this) te gebruiken, maar mooier zou zijn als dat in de classe kon.
Weet iemand hier zo een mooie oplossing voor?
Als je vanuit een classe een pagina include, dan kan je vanuit die pagina de $this variabele gebruiken. Ik zou liever zien dat dit niet zo was, maar helaas, unset($this) werkt niet, (al lijkt me dat sowieso een slecht idee, maar vooruit)
even een voorbeeldje,
Code (php)
en dan in de pagina iets van
echo $this->private_var;
wat mooi de tekst 'erg geheim' geeft.
Ik weet zo geen andere oplossing dan in de pagina zelf unset($this) te gebruiken, maar mooier zou zijn als dat in de classe kon.
Weet iemand hier zo een mooie oplossing voor?
Gewijzigd op 02/07/2010 10:19:31 door Johan Dam
PHP hulp
06/11/2024 00:11:07Arjan -
02/07/2010 10:38:47unset($this) is wel heel slecht inderdaad. Maar waarom heb je bezwaar tegen het kunnen gebruiken van $this in de pagina die geinclude is?
Johan Dam
02/07/2010 10:52:13de code van $pagina kan van alles bevatten, dus om foutjes te voorkomen door onbedoelde wijzigingen aan de classe, is het handig dat de classe helemaal niet te gebruiken is op die pagina,
Het is op zich niet zo heel erg als het zo blijft, maar het zou wel handig kunnen zijn
Het is op zich niet zo heel erg als het zo blijft, maar het zou wel handig kunnen zijn
Piet Verhagen
02/07/2010 12:58:22Als je van te voren niet weet wat er is een bestand staat dat je gaat include, dan kun je je eigen afvragen of je wel goed bezig bent.
Johan Dam
02/07/2010 13:11:40Jelmer -
02/07/2010 13:31:48Maak een gewone functie erbij (en niet een method) want die hebben geen context ($this of self) Eventueel doe je wat leuks met create_function.
Johan Dam
02/07/2010 14:16:02hmm, die create_function kan inderdaad wel s de uitkomst bieden, daar had k nog niet aan gedacht, goeie tip!