'da işe yaramaz Yeni bir Laravel yapısında, uygulamada her yerde çalışmak üzere geçersiz kılınmış IoC bağlamaları alamıyorum. Bir çekirdek sınıfı geçersiz kılan bir hizmet sağlayıcısı, örn. cache:Kademeli çekirdek sınıf, iş ortağı
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'];
}
}
sağlayıcı sonra app.providers
yapılandırma altındaki eklenir.
Şimdi aşağıdaki routes.php
değiştirmek ve sonucu kontrol gidin:
Route::get('/', function() {
dd(app('cache'));
});
// Results in an empty stdClass being shown. It works!
Ancak artisan tinker
kadar yangın ve aynı şeyi: Aniden geçersiz kılma artık çalışmıyor
$ php artisan tinker
>>> app('cache')
=> Illuminate\Cache\CacheManager
..
Olay dinleyicileri işlenirken aynı davranışla karşılaşılır ...
Bu normal davranış mıdır ve birşeye mi bakıyordum? Yoksa bu bir çeşit hata mı?