码迷,mamicode.com
首页 > Web开发 > 详细

[李景山php]每天laravel-20160916|FileSystemServiceProvider

时间:2016-07-19 14:08:10      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:php

<?php

namespace Illuminate\Filesystem;

use Illuminate\Support\ServiceProvider;
// namespace
class FilesystemServiceProvider extends ServiceProvider
{// File system Service Provider extends Service Provider
    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        $this->registerNativeFilesystem();// register

        $this->registerFlysystem();// register Fly system
    }// register the service provider

    /**
     * Register the native filesystem implementation.
     *
     * @return void
     */
    protected function registerNativeFilesystem()
    {
        $this->app->singleton(‘files‘, function () {
            return new Filesystem;
        });
    }// register a singleton files, get a instance about filesystem

    /**
     * Register the driver based filesystem.
     *
     * @return void
     */
    protected function registerFlysystem()
    {
        $this->registerManager();// first register Manager

        $this->app->singleton(‘filesystem.disk‘, function () {
            return $this->app[‘filesystem‘]->disk($this->getDefaultDriver());
        });// if it is a disk, get the Default Driver

        $this->app->singleton(‘filesystem.cloud‘, function () {
            return $this->app[‘filesystem‘]->disk($this->getCloudDriver());
        });//else set the Get Cloud Driver
    }//register the driver based filesystem

    /**
     * Register the filesystem manager.
     *
     * @return void
     */
    protected function registerManager()
    {
        $this->app->singleton(‘filesystem‘, function () {
            return new FilesystemManager($this->app);
        });// get a singleton filesystem use a new FilesystemManager
    }// register Manager

    /**
     * Get the default file driver.
     *
     * @return string
     */
    protected function getDefaultDriver()
    {
        return $this->app[‘config‘][‘filesystems.default‘];
    }// get Default Driver more use a config array

    /**
     * Get the default cloud based file driver.
     *
     * @return string
     */
    protected function getCloudDriver()
    {
        return $this->app[‘config‘][‘filesystems.cloud‘];
    }// get the Cloud Driver
}


本文出自 “专注php” 博客,请务必保留此出处http://jingshanls.blog.51cto.com/3357095/1827603

[李景山php]每天laravel-20160916|FileSystemServiceProvider

标签:php

原文地址:http://jingshanls.blog.51cto.com/3357095/1827603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!