1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
-
- namespace Illuminate\Filesystem;
-
- use Illuminate\Support\ServiceProvider;
-
- class FilesystemServiceProvider extends ServiceProvider
- {
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $this->registerNativeFilesystem();
-
- $this->registerFlysystem();
- }
-
- /**
- * Register the native filesystem implementation.
- *
- * @return void
- */
- protected function registerNativeFilesystem()
- {
- $this->app->singleton('files', function () {
- return new Filesystem;
- });
- }
-
- /**
- * Register the driver based filesystem.
- *
- * @return void
- */
- protected function registerFlysystem()
- {
- $this->registerManager();
-
- $this->app->singleton('filesystem.disk', function () {
- return $this->app['filesystem']->disk($this->getDefaultDriver());
- });
-
- $this->app->singleton('filesystem.cloud', function () {
- return $this->app['filesystem']->disk($this->getCloudDriver());
- });
- }
-
- /**
- * Register the filesystem manager.
- *
- * @return void
- */
- protected function registerManager()
- {
- $this->app->singleton('filesystem', function () {
- return new FilesystemManager($this->app);
- });
- }
-
- /**
- * Get the default file driver.
- *
- * @return string
- */
- protected function getDefaultDriver()
- {
- return $this->app['config']['filesystems.default'];
- }
-
- /**
- * Get the default cloud based file driver.
- *
- * @return string
- */
- protected function getCloudDriver()
- {
- return $this->app['config']['filesystems.cloud'];
- }
- }
|