GrafiteInc/CMS

View on GitHub
src/Templates/CRUD/Provider.txt

Summary

Maintainability
Test Coverage
<?php

namespace Cms\Modules\_camel_casePlural_;

use Illuminate\Routing\Router;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class _camel_casePlural_ModuleProvider extends ServiceProvider
{
    public function register()
    {
        // Publishes
        $this->publishes([
            __DIR__.'/Publishes/app' => base_path('app'),
            __DIR__.'/Publishes/routes' => base_path('routes'),
            __DIR__.'/Publishes/resources' => base_path('resources'),
        ]);

        // Load events
        $this->app->events->listen('eloquent.saved: Cms\Modules\_camel_casePlural_\Models\_camel_case_', 'Cms\Modules\_camel_casePlural_\Models\_camel_case_@afterSaved');

        // Load Routes
        $this->app->router->group(['middleware' => ['web']], function ($router) {
            require __DIR__.'/Routes/web.php';
        });

        // View namespace
        $this->app->view->addNamespace('_lower_casePlural_', __DIR__.'/Views');

        // Migrations
        $this->loadMigrationsFrom(__DIR__.'/Migrations');

        // Configs
        $this->app->config->set('cms.modules._lower_casePlural_', include(__DIR__.'/config.php'));
    }
}