$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();
> ?>
> 
> 




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to