[PHP] In class includen naar global scope, gimme..?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Optix
  • Registratie: Maart 2005
  • Laatst online: 12-08 19:46
Hya,,

Ik ben bezig met een bestaand forum (phpbb) te intergreren naar mijn framework. Maar omdat phpbb wat vars heeft staan in de global scope loop ik nu tegen wat "problemen" aan.

Ik doe (even samengevat):
PHP:
1
2
3
4
5
6
7
class FrameworkDingetje {
    ...
    public function forumpje() {

        include('phpbb/index.php');
    }
}


nou doet die index.php wat vars aanmaken in de global scope, maar later in het forum hebben ze wel wat classes en dan doen ze global $var; om die vars op te halen, maar die worden niet gevonden omdat ze in de scope van forumpje() staan.

Dus als het mogelijk zou zijn om die include op een of andere manier naar de global scope te vuren zou dat erg veel werk schelen, maar dan moet dit natuurlijk wel mogelijk zijn :) (vermoed dat dit niet kan)

.


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Niet heel mooi, maar hier vind je een mogelijkheid (gebruikt get_defined_vars).

Acties:
  • 0 Henk 'm!

Verwijderd

Dat is dus weer een mooi voorbeeld van waarom globals in veel gevallen "evil" zijn. Als ze echt globals nodig hadden deden de heren van phpBB er beter aan om $GLOBALS['foo'] te gebruiken in plaats van global $foo.

Acties:
  • 0 Henk 'm!

  • Optix
  • Registratie: Maart 2005
  • Laatst online: 12-08 19:46
JanDM schreef op zaterdag 02 mei 2009 @ 17:29:
Niet heel mooi, maar hier vind je een mogelijkheid (gebruikt get_defined_vars).
Die had ik gezien ja, maar get_defined_vars werkt achteraf. En aangezien ik achteraf er niks meer mee hoef te doen heb ik hier dus niks aan...

.