Laravel-在应用程序中,在哪一点上,正面必须使用雄辩的符号?

Laravel-在应用程序中,在哪一点上,正面必须使用雄辩的符号?,laravel,laravel-facade,Laravel,Laravel Facade,这是一个由两部分组成的问题,但我相信它们密切相关 我正在学习用Laravel调用类,并试图澄清何时可以调用“绑定”(如果我说得对的话)类。这是拉威尔4.2。) 深入应用程序,在文件app/lib/Repositories/Node/EloquentNodeRepository.php中,我可以称之为: Db::enableQueryLog(); 而且效果很好 但是,在app/client/controllers/PageController.php(父方法,在routes.php中指定)中尝试

这是一个由两部分组成的问题,但我相信它们密切相关

我正在学习用Laravel调用类,并试图澄清何时可以调用“绑定”(如果我说得对的话)类。这是拉威尔4.2。)

深入应用程序,在文件
app/lib/Repositories/Node/EloquentNodeRepository.php
中,我可以称之为:

Db::enableQueryLog();
而且效果很好

但是,在
app/client/controllers/PageController.php
(父方法,在
routes.php
中指定)中尝试相同的命令时,它找不到
Db
,但我使用了它(它可以工作):

这并不是主要的问题,尽管最明显的问题是为什么我还不能仅仅使用
Db
,或者我甚至应该期望这样


然而,我的问题是:“在我的应用程序中,什么时候最早可以使用
MyClass::doSomething()
Db
一样?我看到index.php调用application/start.php,它最终初始化了
$app
——但我不知道Facades何时被激活,或者像
Connection
这样的类何时被绑定到Facade。我可以在这方面使用帮助。谢谢。

您可以立即调用您的类或任何类(如果它们存在于代码中)要调用它们,需要在控制器顶部导入它们…对于默认的laravel类/立面,不需要导入它们,可以使用反斜杠调用它们。例如
\DB::enableQueryLog()
@lewis4u,我正在寻找一个特定的位置,因为这不起作用。在index.php中,你有
$app=require\u once\uu DIR\uuu.'/bootstrap/start.php';
-嗯,调用
\Db::enableQueryLog()
在那里不起作用(找不到类)。只有在
$app->run()之后才起作用
。但是在堆栈中的哪个位置可以首先调用它呢?您必须阅读文档……我不确定这是在哪一层触发的……好吧……我实际上一直在寻找Facade和Service container,试图理解这一点。也许我会尝试堆栈溢出;)
\Illuminate\Support\Facades\Db::enableQueryLog();