this is technique that i always did for configuration file..
<?php
$conf['conf']['foo'] = 'this is foo';
$conf['conf']['bar'] = 'this is bar';
function foobar() {
global $conf;
var_dump($conf);
}
foobar();
/*
result is..
array
'conf' =>
array
'foo' => string 'this is foo' (length=11)
'bar' => string 'this is bar' (length=11)
*/
?>
$GLOBALS
(PHP 4, PHP 5)
$GLOBALS — References all variables available in global scope
Descrierea
An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array.
Exemple
Example #1 $GLOBALS example
<?php
function test() {
$foo = "local variable";
echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
echo '$foo in current scope: ' . $foo . "\n";
}
$foo = "Example content";
test();
?>
Exemplul de mai sus va afișa ceva similar cu:
$foo in global scope: Example content $foo in current scope: local variable
Note
Notă:
Aceasta este o variabilă 'superglobală', sau globală automată. Aceasta pur și simplu înseamnă că ea este disponibilă în toate circumstanțele pe parcursul script-ului. Nu este nevoie de a scrie global $variable; pentru a o accesa din funcții sau metode.
Notă: Variable availability
Unlike all of the other superglobals, $GLOBALS has essentially always been available in PHP.
Gratcy
13-May-2012 01:03
therandshow at gmail dot com
29-Jun-2011 12:32
As of PHP 5.4 $GLOBALS is now initialized just-in-time. This means there now is an advantage to not use the $GLOBALS variable as you can avoid the overhead of initializing it. How much of an advantage that is I'm not sure, but I've never liked $GLOBALS much anyways.
williams at 3cisd dot com
28-Jul-2009 09:53
Better yet, use print_r. While var_dump does detect the recursion that var_export fails on, it seems to recurse one level first for my setup. So var_dump ends up printing all globals twice, but print_r prints them only once since it detects the recursion right away. Serialize seems to not detect the recursion at all either, similar to var_export.
David
13-Aug-2008 11:47
Though you can use var_dump to output the value of $GLOBALS.
ravenswd at yahoo dot com
12-Aug-2008 07:02
Keep in mind that $GLOBALS is, itself, a global variable. So code like this won't work:
<?php
print '$GLOBALS = ' . var_export($GLOBALS, true) . "\n";
?>
This results in the error message: "Nesting level too deep - recursive dependency?"
