I have been looking at my copy of the php manual, at magic constants and have a question about two of them.
1: __line__ : I presume that this would be irrelevant if a script file was compressed by removing all the superfluous white space, including line breaks and tabs? (Although since php is not exposed to the client unless the developer uses highlight_file or highlight_string, compressing it this way is not too useful)
2: __trait__: This is the first time I have run into this term in a programming context. What does it mean? In the manual there is an associative reference to namespace. Perhaps I should read up on namespaces relative to php. The only other context I am aware of the term is in XML This is a bit confusing because I have seen the term used referring to object/property relationships, such as in javascript.
Specifically, you can create an object through the use of a constructor function
function SomeJSObj()
{
this.introduce = function(a)
{
alert('Hi, I am '+a)
}
}
var guy = new SomeJSObj()
guy.introduce('Max') // -> alert dialog -> "Hi, I am Max"
So the function/property 'introduce' is namespaced by the object guy.
So, how is it different than a member function or variable of a class that can only be accessed via reference to an object instance?
Then, finally, how does the term inferred by __trait__ relate?