/**
* Глобальные переменные реализованные с помощью функции
*/
function Globals()
{
static $property;
$args = func_get_args();
switch ($args[0])
{
case 'Set':
if (!empty($args[1]))
$property[$args[1]] = $args[2];
break;
case 'Get':
return $property[$args[1]];
break;
case 'SetArray':
if (is_array($args[1]))
$property = array_merge($property, $args[1]);
break;
case 'GetArray':
return $property;
break;
}
}
/**
* @param string $name
* @param mixed $value
*/
function Set($name,$value)
{
Globals('Set', $name , $value);
}
/**
* @param string $name
* @return mixed
*/
function Get($name)
{
return Globals('Get',$name);
}
/**
* @param array $array
* @return mixed
*/
function SetArray($array)
{
Globals ('SetArray', $array);
}
/**
* @return array
*/
function GetArray()
{
return Globals ('GetArray');
}
Можно также глобальные переменные реализовать через паттерн Singleton, но это уже другая история

Спустя 3 минуты, 31 секунда (7.10.2010 - 17:30) Dingo написал(а):
Ах да применение
set('Hello','Привет');
echo get('Hello'); //Привет
Globals('Set','Fuck','Yes');
echo Globals('Get','Fuck');//Yes
$array = array(
'Mother' => Мама,
'Father' => Папа
);
SetArray($array);
print_r(GetArray());