phpbar.de logo

Mailinglisten-Archive

[php] problem mit referenz seit umstellung auf php5

[php] problem mit referenz seit umstellung auf php5

LB BL lsblsb at gmx.de
Fre Jun 29 12:35:22 CEST 2007


hallo zusammen,

seit ich unsere seiten auf php5 teste, hab ich bei folgendem konstrukt ein problem und bin mir unsicher wieso, und suche nach einer lösung:

class A extends Smarty
{

}

class B
{
	function B(&$classAobject)
	{
		B::setObject($classAobject, "A");
		
	}
	
	function setObject(&$obj, $name)
	{
		//speichert objectreferenz in klassenvariable (array)
	}

	function &getObject($name)
	{
		//gibt gespeicherte objectreferenz zurück
	}

	function() foo
	{
		classAobject = B::getObject("A");
		classAobject->assign("var", "value");
		
		//testausgabe
		print_r(classAobject->get_template_vars());
		//ok!
		
		//rufe dyn. funktion auf (funktion (keine methode) ist in eigener datei notiert)
		call_user_func("bsp_function.php", &$classAobject);

		//testausgabe
		print_r(classAobject->get_template_vars());
		//nicht ok!
		//var2 ist nicht gespeichert worden in classAobject! dies ging noch in php4
	}
}


function bsp_function(&$classAobject)
{
	$classAobject->assign("var2", "value2");
}

////
also das problem ist, dass eine zuweisung eines werts mit Hilfe des referenzierten $classAobject's innerhalb der funktion bsp_function nicht gespeichert wird im objekt. mit php4 ging das noch.
hat jemand ne ahnung wo der "fehler" liegt?

danke für eure hilfe!

gruß lars
-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger

php::bar PHP Wiki   -   Listenarchive