Is there a way to forbid a variable from being picked out of global scope?
Something like:
#index.php
$forbidden = 'you should not be able to access me outside this scope'; // maybe invoke a function or namespaces?
require 'stuff.php';
echo new stuff();
#stuff.php
class stuff
{
public function __toString()
{
global $forbidden; // to result in an error or something?
/*
just a random example, but yes, any way
to somehow make a variable not global?
*/
return 'I am forbidden';
}
}
Have no idea if it’s possible, but anyways, interested in OOP only fashion.
Reason?
To disallow a specific class from being instantiated into a variable and then taken out from global scope to reuse it’s functions. Make class completely "private", kind of like a master class that does all the automation.
Hope I’ve made myself clear.
The only way I can think of would be to “fake” global scope…
and now, putting code in actual.php looks like “normal” code but it actually is inside function scope. Obviously you can’t declare functions or classes in actual.php now, but otherwise it behaves the same, with the exception that any variables declared will be in the function’s scope instead of global scope.
I really wouldn’t do this though. A beating with a stick usually works if someone does something stupid like globals like that 😉