File "ServiceProvider.php"
Full Path: /home/bettaeza/flyinsyria.com/plugins/ServiceProvider.php
File size: 1.51 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Plugins;
use File;
class ServiceProvider extends \Illuminate\Support\ServiceProvider
{
public function boot()
{
$listModule = array_map('basename', File::directories(__DIR__));
foreach ($listModule as $module) {
if (file_exists(__DIR__ . '/' . $module . '/Config/config.php')) {
$this->publishes([
__DIR__ . '/' . $module . '/Config/config.php' => config_path(strtolower($module) . '.php'),
]);
}
}
}
public function register()
{
$listModule = array_map('basename', File::directories(__DIR__));
foreach ($listModule as $module) {
if (file_exists(__DIR__ . '/' . $module . '/Config/config.php')) {
$this->mergeConfigFrom(__DIR__ . '/' . $module . '/Config/config.php', strtolower($module));
}
if (is_dir(__DIR__ . '/' . $module . '/Views')) {
$this->loadViewsFrom(__DIR__ . '/' . $module . '/Views', $module);
}
$class = "\Plugins\\" . ucfirst($module) . "\\ModuleProvider";
if (class_exists($class)) {
$this->app->register($class);
}
}
if (is_dir(__DIR__ . '/Layout')) {
$this->loadViewsFrom(__DIR__ . '/Layout', 'Layout');
}
}
public static function getModules()
{
return array_map('basename', array_filter(glob(base_path() . '/plugins/*'), 'is_dir'));
}
}