Re: this oop-script still doesn't work

From: Date: Tue, 19 Nov 2002 22:59:14 +0000
Subject: Re: this oop-script still doesn't work
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-125159@lists.php.net to get a copy of this message
$overall->foo->bar() works for me. also there's no need for the eval('global...') line Apache 1.3.27, PHP 4.2.2 -js Tularis wrote: > ok, I have gotten great help here already, but it still doesn't work, > it returns a object not found error (on the $foo->bar() line). I want to > change $overall->foo->bar() to $foo->bar... any tips? or help?? > > thanx! > - Tularis > > <?php > > class overall { > var $loaded; > > function load($class){ > eval("global \$$class;"); // This didn't work either > //$this->loaded[] = $class; // see the comments with the foreach() > 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){ // didn't work.. I commented > this out, because I thought it MIGHT interfere with the other way > $val =& $overall->$val; // both don't work though :( > } > */ > > $overall->foo->bar(); > $overall->foo->bar(); > $overall->foo->bar(); > $overall->foo->bar(); > > // it doesn't understand this > $foo->bar(); > ?> > >

« previous php.general (#125159) next »