| Caution | 
| 
     The following is valid for PHP 4 and later only.
     | 
    Sometimes it is useful to refer to functions and variables
    in base classes or to refer to functions in classes that
    have not yet any instances. The :: operator is being used
    for this.
   
    The above example calls the function example() in
    class A, but there is no object of class A, so that
    we cannot write $a->example() or similar. Instead we
    call example() as a 'class function', that is, as a
    function of the class itself, not any object of that
    class.
   
    There are class functions, but there are no class variables.
    In fact, there is no object at all at the time of the call.
    Thus, a class function may not use any object variables (but
    it can use local and global variables), and it may not use
    $this at all.
   
    In the above example, class B redefines the function example(). 
    The original definition in class A is shadowed
    and no longer available, unless you are referring specifically
    to the implementation of example() in class A using the 
    ::-operator. Write A::example() to do this (in fact, you
    should be writing parent::example(), as shown in the next
    section).
   
    In this context, there is a current object and it may have object
    variables. Thus, when used from WITHIN an object function, you may use
    $this and object variables.