Laravel – Wie rufe ich nicht-statische Methoden in PHP statisch auf?
黄舟
黄舟 2017-07-05 10:02:01
0
1
996

Statischer Aufruf im Larave-Projekt

Fassade

Die Titelmethode in der Admin-Klasse ist nicht statisch

Wie wird das erreicht?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen(1)
学习ing

归根结底是通过 魔术方法 __callStatic 实现的

Illuminate\Support\Facades\Facade 代码最下方

https://github.com/illuminate...

 /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array   $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
        return $instance->$method(...$args);
    }

关于 FacadeLavavel 比较重要的特性之一,可以详细了解下它的实现。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage