1
0
mirror of https://github.com/flarum/core.git synced 2025-10-12 15:34:26 +02:00

Rename app to container (#2609)

* Rename `app` helper to `resolve`, deprecate old version
* Rename $this->app to $this->container in service providers

We no longer couple Flarum\Foundation\Application to the Laravel container; instead, we use the container separately. Changing our naming to reflect that will make things clearer.
This commit is contained in:
Alexander Skvortsov
2021-03-04 22:14:48 -05:00
committed by GitHub
parent 15cbe4daaa
commit c81f629b0b
29 changed files with 306 additions and 278 deletions

View File

@@ -36,18 +36,18 @@ class AdminServiceProvider extends AbstractServiceProvider
*/
public function register()
{
$this->app->extend(UrlGenerator::class, function (UrlGenerator $url) {
return $url->addCollection('admin', $this->app->make('flarum.admin.routes'), 'admin');
$this->container->extend(UrlGenerator::class, function (UrlGenerator $url) {
return $url->addCollection('admin', $this->container->make('flarum.admin.routes'), 'admin');
});
$this->app->singleton('flarum.admin.routes', function () {
$this->container->singleton('flarum.admin.routes', function () {
$routes = new RouteCollection;
$this->populateRoutes($routes);
return $routes;
});
$this->app->singleton('flarum.admin.middleware', function () {
$this->container->singleton('flarum.admin.middleware', function () {
return [
'flarum.admin.error_handler',
HttpMiddleware\ParseJsonBody::class,
@@ -61,23 +61,23 @@ class AdminServiceProvider extends AbstractServiceProvider
];
});
$this->app->bind('flarum.admin.error_handler', function () {
$this->container->bind('flarum.admin.error_handler', function () {
return new HttpMiddleware\HandleErrors(
$this->app->make(Registry::class),
$this->app['flarum.config']->inDebugMode() ? $this->app->make(WhoopsFormatter::class) : $this->app->make(ViewFormatter::class),
$this->app->tagged(Reporter::class)
$this->container->make(Registry::class),
$this->container['flarum.config']->inDebugMode() ? $this->container->make(WhoopsFormatter::class) : $this->container->make(ViewFormatter::class),
$this->container->tagged(Reporter::class)
);
});
$this->app->bind('flarum.admin.route_resolver', function () {
return new HttpMiddleware\ResolveRoute($this->app->make('flarum.admin.routes'));
$this->container->bind('flarum.admin.route_resolver', function () {
return new HttpMiddleware\ResolveRoute($this->container->make('flarum.admin.routes'));
});
$this->app->singleton('flarum.admin.handler', function () {
$this->container->singleton('flarum.admin.handler', function () {
$pipe = new MiddlewarePipe;
foreach ($this->app->make('flarum.admin.middleware') as $middleware) {
$pipe->pipe($this->app->make($middleware));
foreach ($this->container->make('flarum.admin.middleware') as $middleware) {
$pipe->pipe($this->container->make($middleware));
}
$pipe->pipe(new HttpMiddleware\ExecuteRoute());
@@ -85,9 +85,9 @@ class AdminServiceProvider extends AbstractServiceProvider
return $pipe;
});
$this->app->bind('flarum.assets.admin', function () {
$this->container->bind('flarum.assets.admin', function () {
/** @var \Flarum\Frontend\Assets $assets */
$assets = $this->app->make('flarum.assets.factory')('admin');
$assets = $this->container->make('flarum.assets.factory')('admin');
$assets->js(function (SourceCollector $sources) {
$sources->addFile(__DIR__.'/../../js/dist/admin.js');
@@ -97,17 +97,17 @@ class AdminServiceProvider extends AbstractServiceProvider
$sources->addFile(__DIR__.'/../../less/admin.less');
});
$this->app->make(AddTranslations::class)->forFrontend('admin')->to($assets);
$this->app->make(AddLocaleAssets::class)->to($assets);
$this->container->make(AddTranslations::class)->forFrontend('admin')->to($assets);
$this->container->make(AddLocaleAssets::class)->to($assets);
return $assets;
});
$this->app->bind('flarum.frontend.admin', function () {
$this->container->bind('flarum.frontend.admin', function () {
/** @var \Flarum\Frontend\Frontend $frontend */
$frontend = $this->app->make('flarum.frontend.factory')('admin');
$frontend = $this->container->make('flarum.frontend.factory')('admin');
$frontend->content($this->app->make(Content\AdminPayload::class));
$frontend->content($this->container->make(Content\AdminPayload::class));
return $frontend;
});
@@ -120,14 +120,14 @@ class AdminServiceProvider extends AbstractServiceProvider
{
$this->loadViewsFrom(__DIR__.'/../../views', 'flarum.admin');
$events = $this->app->make('events');
$events = $this->container->make('events');
$events->listen(
[Enabled::class, Disabled::class, ClearingCache::class],
function () {
$recompile = new RecompileFrontendAssets(
$this->app->make('flarum.assets.admin'),
$this->app->make(LocaleManager::class)
$this->container->make('flarum.assets.admin'),
$this->container->make(LocaleManager::class)
);
$recompile->flush();
}
@@ -137,8 +137,8 @@ class AdminServiceProvider extends AbstractServiceProvider
Saved::class,
function (Saved $event) {
$recompile = new RecompileFrontendAssets(
$this->app->make('flarum.assets.admin'),
$this->app->make(LocaleManager::class)
$this->container->make('flarum.assets.admin'),
$this->container->make(LocaleManager::class)
);
$recompile->whenSettingsSaved($event);
}
@@ -150,7 +150,7 @@ class AdminServiceProvider extends AbstractServiceProvider
*/
protected function populateRoutes(RouteCollection $routes)
{
$factory = $this->app->make(RouteHandlerFactory::class);
$factory = $this->container->make(RouteHandlerFactory::class);
$callback = include __DIR__.'/routes.php';
$callback($routes, $factory);