Variable globalisieren?

Unicate

Erfahrenes Mitglied
Also, ich habe mir eine MYSQL Klasse geschrieben.
index.php:
PHP:
include "classes/class.mysql.php";
$MySQL = new MYSQL();
include "php.php";
Wie kann ich nun die Variable $MySQL in der php.php nutzen?
 
Würde ich posten wenns gehen würde?
ok hier mal genauer:
class.menu.php:
PHP:
	class CMenu
	{
		function CMenu()
		{
			print_r($MYSQL);
		}
	}
index.php:
PHP:
	require_once("../classes/class.mysql.php");
	$MYSQL = new CMySQL();
	$MYSQL->connect("../configs/db_connect.php");
	
	//Login
	require_once("../classes/class.login.php");
		
	$login = new Login();
	if($login->startLogin())
	{
		
		require_once("../classes/admin/class.menu.php");
		$menu = new CMenu();
		echo "<a href=\"index.php?action=logout\">Logout</a>";
	}

Den Logoutlink zeigt es mir an....
 
Hallo,

Gumbo hat schon Recht: $MYSQL verhält sich in class.menu.php wie jede andere Variable auch. Dazu gehört unter anderem, dass sie im Scope einer Methode standardmäßig nicht erreichbar ist. Du musst die Variable erst mit [phpf]global[/phpf] in deiner Methode referenzieren.

Grüße,
Matthias
 
Funktioniert 1A, das wollte ich wissen Danke.

Aber nun mal zur Technischen sache.
Wird von $MYSQL nun eine kopie angelegt oder nur eine Referenz (pointer, zeiger)?

Mir geht es hierbei um Speicheroptimierung und es wäre zu blöd, wenn es eine kopie machen würde, weil ich mir das dann hätte sparen können.
 
Zuletzt bearbeitet:
Hallo,

nein, es wird nur eine Referenz angelegt. Das hätte man aber eigentlich auch der verlinkten Seite im PHP-Manual entnehmen können…

Grüße,
Matthias
 
Zurück