What does it mean to use static::$app- > make in the laravel framework

Why can static:: be written in the laravel framework? is there a class called static and then access a static method make?
but static is a keyword and cannot be used as a class name.
is located in vendor/laravel/framework/src/Illuminate/Support/Facades/Auth.php

.
class Auth extends Facade
{
    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor()
    {
        return "auth";
    }

    /**
     * Register the typical authentication routes for an application.
     *
     * @return void
     */
    public static function routes()
    {
       static::$app->make("router")->auth();
    }
}
Mar.06,2021

you can search for delay static binding


static:: variables generally refer to the variables under the current object
for example, the parent class has an attribute called xxx, subclass and a property called xxx,
parent class has a method doxxx,
when the subclass calls the doxxx method, the static::xxx in the
doxxx is taken from the subclass, not the parent class.
laravel this $app should refer to the current application of this large object

Menu