[PHP] OOP - transfering object-pointer

2002-11-19 Thread Tularis
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



Re: [PHP] OOP - transfering object-pointer

2002-11-19 Thread Hatem Ben
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