Files
faveo/vendor/intervention/image/src/Intervention/Image/ImageServiceProvider.php
Bhanu Slathia b1f62846ab Update v1.0.6
2016-02-16 23:24:52 +05:30

85 lines
1.8 KiB
PHP

<?php
namespace Intervention\Image;
use Illuminate\Foundation\Application;
use Illuminate\Support\ServiceProvider;
class ImageServiceProvider extends ServiceProvider
{
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = false;
/**
* Actual provider
*
* @var \Illuminate\Support\ServiceProvider
*/
protected $provider;
/**
* Create a new service provider instance.
*
* @param \Illuminate\Contracts\Foundation\Application $app
* @return void
*/
public function __construct($app)
{
parent::__construct($app);
$this->provider = $this->getProvider();
}
/**
* Bootstrap the application events.
*
* @return void
*/
public function boot()
{
return $this->provider->boot();
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
return $this->provider->register();
}
/**
* Return ServiceProvider according to Laravel version
*
* @return \Intervention\Image\Provider\ProviderInterface
*/
private function getProvider()
{
if (get_class($this->app) == 'Laravel\Lumen\Application') {
$provider = '\Intervention\Image\ImageServiceProviderLumen';
} elseif (version_compare(Application::VERSION, '5.0', '<')) {
$provider = '\Intervention\Image\ImageServiceProviderLaravel4';
} else {
$provider = '\Intervention\Image\ImageServiceProviderLaravel5';
}
return new $provider($this->app);
}
/**
* Get the services provided by the provider.
*
* @return array
*/
public function provides()
{
return array('image');
}
}