RE: OOP-classes in PHP

From: Date: Mon, 18 Nov 2002 09:01:24 +0000
Subject: RE: OOP-classes in PHP
Groups: php.general 
Request: Send a blank email to php-general+get-124884@lists.php.net to get a copy of this message
you can't access $overall->foo because you've never defined it you need: function load($class){ eval("\$this->$class = new $class;"); return true; } Tim > -----Original Message----- > From: Tularis [mailto:tularis@xmbforum.com] > Sent: 17 November 2002 22:21 > To: php-general@lists.php.net > Subject: OOP-classes in PHP > > > currently I have the followig script: > > everything works fine, except for the fact that it doesn't seem to > understand $overall->foo->foo();. It returns this error: > "Fatal error: Call to a member function on a non-object in > d:\apache\htdocs\classes.php on line 32" > > Now, I know the object is loaded, because the constructor is run, and > puts out a 1 onscreen... I wish to know how to make this work... > any help plz? > > thanx > - Tularis > <?php > > class overall { > var $loaded; > > function load($class){ > eval("\$$class = new $class;"); > return true; > } > } > > class foo { > var $bar; > > // Constructor > function foo(){ > if(!isset($this->bar)){ > $this->bar = 1; > }else{ > $this->bar++; > } > echo $this->bar."<br>"; > } > } > > // Start actual loading > $overall = new overall; > $overall->load('foo'); > > // As of here it won't work anymore... somehow > $overall->foo-> doesn't > work... > > $overall->foo->foo(); > ?> > > (and if possible, I would also like to change $overall->foo->foo() to > $foo->foo(), but still keeping that class as a 'subclass' to > the overall > one.) > >

« previous php.general (#124884) next »