Skip to content
This repository was archived by the owner on Jan 3, 2023. It is now read-only.

Commit 8233f02

Browse files
committed
auto register packages dependencies sp & alias
1 parent 0095fec commit 8233f02

File tree

2 files changed

+42
-9
lines changed

2 files changed

+42
-9
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,11 @@ return [
6767
[Wiki](https://github.com/ctf0/simple-menu/wiki/Usage)
6868

6969
### MiddleWares
70-
- the package automatically register 2 middlewares `role & perm` to handle all the routes, however to use them on any other routes, use
71-
```php
72-
Route::group(['middleware' => ['role:admin','perm:access_backend']], function () {
73-
// ...
74-
});
75-
```
70+
- the package automatically register 4 middlewares to handle all the package routes, however to use them anywhere else, they are
71+
- `localizationRedirect`
72+
- `localeSessionRedirect`
73+
- `role:roleName`
74+
- `perm:permName`
7675

7776
### Good Practice
7877
Ofcourse you are free to code your app the way you want, but just in-case here are the naming convention the package use.

src/SimpleMenuServiceProvider.php

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,18 @@
44

55
use ctf0\SimpleMenu\Middleware\PermissionMiddleware;
66
use ctf0\SimpleMenu\Middleware\RoleMiddleware;
7+
use Illuminate\Foundation\AliasLoader;
78
use Illuminate\Support\ServiceProvider;
89

910
class SimpleMenuServiceProvider extends ServiceProvider
1011
{
12+
protected $packagesSP = [
13+
\Baum\Providers\BaumServiceProvider::class,
14+
\Spatie\Translatable\TranslatableServiceProvider::class,
15+
\Spatie\Permission\PermissionServiceProvider::class,
16+
\Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider::class,
17+
];
18+
1119
/**
1220
* Perform post-registration booting of services.
1321
*/
@@ -46,19 +54,45 @@ public function register()
4654
return new SimpleMenu();
4755
});
4856

57+
$this->regPSP();
58+
$this->regPA();
59+
$this->regPMW();
60+
}
61+
62+
/**
63+
* packages service providers.
64+
*
65+
* @return [type] [description]
66+
*/
67+
protected function regPSP()
68+
{
69+
foreach ($this->packagesSP as $one) {
70+
$this->app->register($one);
71+
}
72+
}
73+
74+
/**
75+
* packages aliases.
76+
*
77+
* @return [type] [description]
78+
*/
79+
protected function regPA()
80+
{
4981
$this->app->alias('simplemenu', SimpleMenu::class);
5082

51-
$this->regMW();
83+
AliasLoader::getInstance()->alias('LaravelLocalization', 'Mcamara\LaravelLocalization\Facades\LaravelLocalization');
5284
}
5385

5486
/**
55-
* register app middlewares.
87+
* packages middlewares.
5688
*
5789
* @return [type] [description]
5890
*/
59-
protected function regMW()
91+
protected function regPMW()
6092
{
6193
$this->app['router']->aliasMiddleware('perm', PermissionMiddleware::class);
6294
$this->app['router']->aliasMiddleware('role', RoleMiddleware::class);
95+
$this->app['router']->aliasMiddleware('localizationRedirect', \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class);
96+
$this->app['router']->aliasMiddleware('localeSessionRedirect', \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class);
6397
}
6498
}

0 commit comments

Comments
 (0)