It wrks okay here; I guess i'm keeping register_global= On in php.ini ! Try debuging your sample using get_declared_classes and you'll find what you're missing
class overall { var $loaded; function load($class){ eval ("global \$$class;"); eval("\$$class = new $class;"); print_r(get_declared_classes()); return true; } } ----- Original Message ----- From: "Tularis" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, November 19, 2002 10:50 AM Subject: [PHP] OOP - transfering object-pointer > Currently, I have the following code: > > <?php > > class overall { > var $loaded; > > function load($class){ > //eval("global \$$class;"); // This didn't work either > $this->loaded[] = $class; > eval("\$this->$class = new $class;"); > return true; > } > } > > class foo { > var $bar; > > // Constructor > function bar(){ > if(!isset($this->bar)){ > $this->bar = 1; > }else{ > $this->bar++; > } > echo $this->bar."<br>"; > } > } > > // Start actual loading > $overall = new overall; > $overall->load('foo'); > > foreach($overall->loaded as $key=>$val){ > $key =& $overall->$key; > } > > $overall->foo->bar(); > $overall->foo->bar(); > $overall->foo->bar(); > $overall->foo->bar(); > > // it doesn't understand this > $foo->bar(); // line 42 > ?> > > It all works, except for the $foo->bar(); thing... I am wondering how I > can turn $overall->foo->bar() to $foo->bar(); as all the things I've > tried, don't work, they don't give any errors, except for > Fatal error: Call to a member function on a non-object in > d:\apache\htdocs\classes.php on line 42... > > Could anyone help me with this? > thanx > > - Tularis > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php