<?php
$foo = 1;
function meh(){
// <-- $foo can't be accessed
}
It doesn’t look like a global variable. However, does it have disadvantages like global stuff if it’s outside the function?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Yes. They can be accessed from any location, including other scripts. They are slightly better as you have to used the
globalkeyword to access them from within a function, which gives more clarity as to where they are coming from and what they do.The disadvantages of global variables apply, but this doesn’t instantly make them evil as is often perceived in some OO languages. If they produce a good solution that’s efficient and easily understandable, then you’re fine. There are literally millions of succesful PHP projects that use global variables declared like this. The biggest mistake you can make is not using them and making your code even more complicated when it would have been perfectly fine to use them in the first place. 😀