下面由Laravel教程栏目给大家介绍Laravel Facade 的详细解读,希望对需要的朋友有所帮助!
大家好,今天带来的内容是 Laravel 的 Facade 机制实现原理。
数据库的使用:
$users = DB::connection('foo')->select(...);
众所周知,IOC容器是 Laravel 框架的最最重要的部分。它提供了两个功能,IOC和容器。
这次不准备讲解IOC容器的具体实现,之后会有文章详细解读它。关于IOC容器,读者只需要记住两点即可:
instances[$name]; } public static function __callStatic($method, $args) { $instance = static::getFacadeRoot(); if (! $instance) { throw new RuntimeException('A facade root has not been set.'); } switch (count($args)) { case 0: return $instance->$method(); case 1: return $instance->$method($args[0]); case 2: return $instance->$method($args[0], $args[1]); case 3: return $instance->$method($args[0], $args[1], $args[2]); case 4: return $instance->$method($args[0], $args[1], $args[2], $args[3]); default: return call_user_func_array([$instance, $method], $args); } } }
代码说明:
TEST1 的具体逻辑:
登录后复制
TEST1 类的Facade:
登录后复制
使用:
use facades\Test1Facade;Test1Facade::hello(); // 这是 Facade 调用
解释:
return static::$app->instances[$name];
。这其中的$name
,即为facades\Test1
里的 test1以上是Laravel Facade 的详细解读的详细内容。更多信息请关注PHP中文网其他相关文章!