I'm attempting to define a __invokeable global instance of a class that contains my application's functions.
Basically I'm trying to create a namespace for my library, and therefore I'm attempting to use a class to hold all my functions/methods.
I don't want to have to include global $class_instance at the top of all my files, because that is ugly.
Also I don't to have to reference the variable like $GLOBALS['myvar'] everywhere.
Personally I find this a real oversight in php.
It appears I can't define super globals like $myFunctionsGlobal
And I can't define variables (well actually constants) in php like myvar=$classInstance.
Namespaces
If namespaces are supposed to solve this issue, why aren't they more widely used?
For example Kohana doesn't use namespaces, along with many other php libraries.
One I'm after:
class _namespace{
    public $_function;
    function __invoke($arg){
        // Function body
        echo $arg;
    }
    function method(){
        ;
    }
}
$N = new _namespace;
$N('someValue');
$N->method();
function myFunc(){
    // I don't want global $N;
    // I don't want $N = $_GLOBALS['N'];
    // I don't want $N = get_instance();
    $N('some other value');
}
Solution:
In most other languages like c and js you can only have one object/function per variable name.  PHP seems to special allowing you to have namespaces,functions and classes with the same name.  I was trying to group all of my functions under one central variable for simplicity and still have the functionality of it being __invokable.  In fact a class and a function named the same thing would have provided this functionality.
<?
class R{
    static function static_method(){
        ;
    }
    function method(){
        ;
    }
}
function R(){;}
R();
R::static_method();
$instance = new R();
$instance->method();
In php5.3 you can emulate a invokable constant with methods by defining a function with the same name as your namespace.
namespace.php
<? namespace Z;
function init($arg=''){
    echo $arg;
}
function method(){
    echo 'method';
}
function method(){
    echo 'method2';
}
othefile.php
include('namespace.php');
function Z($a=null,$b=null){
    return Z\init($a,$b);
}
Z('test');
Z\method();
Z\method2();