Laravel - 未调用AppServiceProvider

时间:2015-02-23 14:46:36

标签: laravel

我试图在Laravel AppServiceProvider中绑定一些服务,但服务没有绑定。我认为,甚至没有调用AppServiceProvider。实际上,我做了一个新的工作。

所以我的问题是,我做错了吗?或者没有调用AppServiceProvider?

1 个答案:

答案 0 :(得分:9)

Laravel 预编译基本上每个请求都使用的某些类。这有助于性能优化。要编译的文件可以在config/compile.php下的files中指定。 default one看起来像这样:

'files' => [
    realpath(__DIR__.'/../app/Providers/AppServiceProvider.php'),
    realpath(__DIR__.'/../app/Providers/BusServiceProvider.php'),
    realpath(__DIR__.'/../app/Providers/ConfigServiceProvider.php'),
    realpath(__DIR__.'/../app/Providers/EventServiceProvider.php'),
    realpath(__DIR__.'/../app/Providers/RouteServiceProvider.php'),
],

在未启用调试时(或使用php artisan optimize选项)运行--force时,列出的文件和其他框架类将写入storage/framework/compiled.php

这意味着如果您更改其中一个预编译文件,则不会立即应用更改(如果存在compiled.php)但仅在您再次运行php artisan optimize或运行php artisan clear-compiled之后清除compiled.php文件。

当然,您也可以从列表中删除AppServiceProvider作为替代解决方案。