6
在新的Laravel構建中,我無法重寫IoC綁定以在應用程序中的任何地方工作。在技術人員手中時,被覆蓋的核心類不工作
假設一個覆蓋核心類的服務提供者,例如緩存:
class NewServiceProvider extends ServiceProvider
{
protected $defer = true;
public function register()
{
$this->app->singleton('cache', function($app) {
return new \stdClass; // demo purpose
});
}
public function provides()
{
return ['cache'];
}
}
提供商然後在app.providers
配置的底部加入。
現在修改routes.php
下面去檢查結果:
Route::get('/', function() {
dd(app('cache'));
});
// Results in an empty stdClass being shown. It works!
然而,火起來artisan tinker
,做同樣的:
$ php artisan tinker
>>> app('cache')
=> Illuminate\Cache\CacheManager
突然倍率不工作了..
處理事件偵聽器時遇到同樣的行爲...
這是正常的行爲,我可以忽略一些東西嗎?或者這是一種錯誤?