Search code examples
phpstatic-classes

Returning a static Class in PHP


I am working on a backend project. I need to return a static object withing another static object:

Class this_is_a_very_long_class_name
{
    public static function call()
    {
        return self;
    }

    public static function script_link($link)
    {
        //doing stuff here...
    }
}

Class Main
{
    public static function view()
    {
        // trying to return View object
        return this_is_a_very_long_class_name::call();
    }
}

and I am trying to use it like this:

Main::view()::script_link('Some script');

So how can I accomplish that?

P.S.: I am not looking for another solution. I am looking for a answer what I asked.


Solution

  • You don't need that.

    Use

    View::script_link();
    

    Also this is wrong and misleading view()->script_link because script_link is static

    Addendum

    If you your problem is your class name length I suggest you to create simple wrapper for this.

    function createLink($string){
     return VERY_LONG_CLASS_NAME_HELLO_PHP_NAMESPACE::script_link($string);
    }
    

    this way you just need to createLink();