Use facades.

This commit is contained in:
James Cole
2014-11-21 11:12:22 +01:00
parent ec776bb6eb
commit 3dce194930
22 changed files with 177 additions and 90 deletions

View File

@@ -2,6 +2,7 @@
namespace FireflyIII;
use FireflyIII\Shared\Validation\FireflyValidator;
use Illuminate\Foundation\AliasLoader;
use Illuminate\Support\ServiceProvider;
/**
@@ -21,6 +22,16 @@ class FF3ServiceProvider extends ServiceProvider
);
}
/**
* Return the services bla bla.
*
* @return array
*/
public function provides()
{
return ['reminders', 'filters', 'datekit', 'navigation'];
}
/**
* Triggered automatically by Laravel
*/
@@ -29,12 +40,50 @@ class FF3ServiceProvider extends ServiceProvider
// FORMAT:
#$this->app->bind('Interface', 'Class');
$this->app->bind(
'reminders', function () {
return new \FireflyIII\Shared\Toolkit\Reminders;
}
);
$this->app->bind(
'filter', function () {
return new \FireflyIII\Shared\Toolkit\Filter;
}
);
$this->app->bind(
'datekit', function () {
return new \FireflyIII\Shared\Toolkit\Date;
}
);
$this->app->bind(
'navigation', function () {
return new \FireflyIII\Shared\Toolkit\Navigation;
}
);
$this->app->bind(
'ffform', function () {
return new \FireflyIII\Shared\Toolkit\Form;
}
);
// preferences:
$this->app->bind('FireflyIII\Shared\Preferences\PreferencesInterface', 'FireflyIII\Shared\Preferences\Preferences');
// registration and user mail:
$this->app->bind('FireflyIII\Shared\Mail\RegistrationInterface', 'FireflyIII\Shared\Mail\Registration');
// Shortcut so developers don't need to add an Alias in app/config/app.php
$this->app->booting(
function () {
$loader = AliasLoader::getInstance();
$loader->alias('Reminders', 'FireflyIII\Shared\Facade\Reminders');
$loader->alias('Filter', 'FireflyIII\Shared\Facade\Filter');
$loader->alias('DateKit', 'FireflyIII\Shared\Facade\DateKit');
$loader->alias('Navigation', 'FireflyIII\Shared\Facade\Navigation');
$loader->alias('FFForm', 'FireflyIII\Shared\Facade\FFForm');
}
);
}
}