Reputation: 8701
As we know, global keyword makes variable( or object, array) visible inside current function we are dealing with
<?php
$some_var = 'some string';
function __test(){
global $some_var;
echo $some_var; // some string
}
But some dev's still use the global keyword outside the functions at first look it doesn't make any sense to me.
Well, the question is: Does it make any sense to use 'global' keyword outside the function ???
Upvotes: 14
Views: 5804
Reputation: 268364
From the docs:
Using global keyword outside a function is not an error. It can be used if the file is included from inside a function.
Essentially you could have your function guts in a different file than your function declaration. These guts would then be included into the function. This would give the impression, if you view the guts alone, of a user using global
outside of a function, however the fact is that when this code is interpreted, it will be interpreted from within a function.
$name = "Jonathan";
function doSomething () {
include 'functionGuts.php';
}
Where the contents of our functionGuts.php
file could be:
global $name;
echo "Hello, " . $name;
When viewed on its own, functionGuts.php
will give the impression that global
is being used outside of a function, when in reality it's being used like this:
$name = "Jonathan";
function doSomething () {
global $name;
echo "Hello, " . $name;
}
Upvotes: 17
Reputation: 1954
Global keyword outside of functions does not do anything at all. but that file might be included within a function.
Another thing i use it not is to make my codes readable and more structured. any variable that i want to bo accessed using global keyword in a function, i declare it using global in the main file, so just a quick glance and i know that it is referenced somewhere as a global. (meaning don't rename anyhow as other is used somewhere else... :) )
Upvotes: 1