I think one of the key differences is you can programmatically track any changes to the data since it goes through set/get functions. You will also have less variables, so you can view the data as whole much better than the entire $GLOBALS array.
It also has a more semantic meaning - you are getting and setting data from the registry which is common data accross your application.
Generally with globals, they are part of the bulk of the script (procedural), but with this, it's a much smaller, which means much less (probably nil unless you are being stupid) chance of collision, which is the real risk with globals.
|