[support] module execution context? was: class and globals in functions (maybe PHP)
Ivan Sergio Borgonovo
mail at webthatworks.it
Tue Oct 2 17:10:49 UTC 2007
I simplified as much as I could and I came out with:
<?
class tonno {
protected $pippo=null;
function __construct($pippo) {
$this->pippo=$pippo;
}
public function test() {
print($this->pippo);
}
}
$zoppas=new tonno("morto");
function cane() {
global $zoppas;
$zoppas->test();
}
cane();
?>
That works perfectly as a separated app in drupal environment (that
means same server, same php.ini, same dir where drupal reside).
then I moved the same code inside my catalog.module but I put the
global $zoppas;
$zoppas->test();
in a hook and again:
Fatal error: Call to a member function test() on a non-object
in /srv/twww.mebsbooks.com/d1/sites/all/modules/catalog/catalog.module
on line 63
what's different in the module execution context?
why
global $user;
works?
--
Ivan Sergio Borgonovo
http://www.webthatworks.it
More information about the support
mailing list