Naam van callende class
Deze site laat je geen account deleten
29/07/2009 00:53:00Hallo,
Is het mogelijk dat als ik 2 classes heb, een beetje als dit(in het "echte" script is dit veel uitgebreider):
ik in do_stuff de naam ClassEen kan laten zien ZONDER iets aan ClassEen te veranderen qua variabelen meesturen?
Is het mogelijk dat als ik 2 classes heb, een beetje als dit(in het "echte" script is dit veel uitgebreider):
Code (php)
ik in do_stuff de naam ClassEen kan laten zien ZONDER iets aan ClassEen te veranderen qua variabelen meesturen?
PHP hulp
24/04/2024 22:51:08TJVB tvb
29/07/2009 08:14:00Jelmer -
29/07/2009 09:15:00Laat me raden: je probeert een soort protected functie te maken die alleen aan te roepen is vanuit bepaalde classes. En om dat af te dwingen (de functie moet immers public zijn anders kan het niet in PHP) wil je controleren welke class hem aanroept.
Het kan, een beetje, met debug_backtrace. Je kan kijken of een van de door jou goedgekeurde classes in die array voorkomt (in de callstack) en dan toegang geven. Maar debug_backtrace is traag, en ik kan deze hack niet aanraden.
Wat is het echte probleem? Wat zijn de namen van de classes en de methods waar het om gaat? Misschien is er wel een veel mooiere oplossing in de vorm van een andere architectuur.
Het kan, een beetje, met debug_backtrace. Je kan kijken of een van de door jou goedgekeurde classes in die array voorkomt (in de callstack) en dan toegang geven. Maar debug_backtrace is traag, en ik kan deze hack niet aanraden.
Wat is het echte probleem? Wat zijn de namen van de classes en de methods waar het om gaat? Misschien is er wel een veel mooiere oplossing in de vorm van een andere architectuur.
Deze site laat je geen account deleten
29/07/2009 12:45:00Ik heb al een andere oplossing, het was alsnog niet nodig om de naam van de class te hebben, toch bedankt voor de hulp
Ed
31/07/2009 00:10:00TJVB tvb
31/07/2009 08:45:00Ed
31/07/2009 23:31:00TJVB schreef op 31.07.2009 08:45:
Maar dan moet je de class wel meegeven en dat is juist niet wat teuneboon wilde.
Zonder parameter wordt gewoon de huidige class worden gegeven, kan trouwens ook gewoon met $this.