PHPackages                             willy-gilly/qswg - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. willy-gilly/qswg

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

willy-gilly/qswg
================

Personnal Tool to make controllers extending from a special one instead of the default one

215PHP

Since Oct 16Pushed 4y ago1 watchersCompare

[ Source](https://github.com/Willy-Gilly/qswg)[ Packagist](https://packagist.org/packages/willy-gilly/qswg)[ RSS](/packages/willy-gilly-qswg/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

My own QuickStart as laravel package
====================================

[](#my-own-quickstart-as-laravel-package)

[![N|Solid](https://camo.githubusercontent.com/add54281c9fb74f167b2c1f1e13468346d6ef8885dc90eb7036e09b579462947/68747470733a2f2f6c61726176656c2e636f6d2f696d672f6c6f676f6d61726b2e6d696e2e737667)](https://laravel.com/) [![N|Solid](https://camo.githubusercontent.com/d299f6e3ba5900a3668b28bf3d3206129a0edc89e48f707ee039917efa958f71/68747470733a2f2f6c61726176656c2e636f6d2f696d672f6c6f676f747970652e6d696e2e737667)](https://laravel.com/)

I did that because i'm doing those things each time I start a new project, so basically, wasting my time doing repetitives things, and when a task is repetitive, let's make something doing it for us.

- I still use AdminLTE package
- Things might change over the time
- If you think i wasted time on this, well yes, maybe, but at least I learned how to make a package and that's a great experiance.

Features
--------

[](#features)

- Making controllers extending from one other controller faster
- Command to make blade views based on AdminLTE pages
- Lang discreatly used

Making a controller extending from an other :
---------------------------------------------

[](#making-a-controller-extending-from-an-other-)

(careful, I just reverted "controller" and "make" from the original one)

```
    php artisan controller:make {controllerName} {extendsName}
```

Will create a folder (if not existing) : `app\Http\Controllers\ExtendingName`Then make your controller `app\Http\Controllers\{ExtendingName}\{ControllerName}{ExtendingName}Controller.php`It will use correct namespace and extends from {ExtendingName}Controller (will use parent constructor)

Making lang files
-----------------

[](#making-lang-files)

```
    php artisan make:lang {name}
```

Will create lang files into `resources\lang\{langs}` where {langs} is an array of langs in `config\qswg.php`

Making view files
-----------------

[](#making-view-files)

```
    php artisan make:view {name} {path}
```

Will create a PHP Blade file into `resources\views\{path}\{name}.blade.php` (leave path blank to make it in the root of views folder) It uses AdminLTE's Blank page

Tech
----

[](#tech)

- Laravel
- AdminLTE
- Blade

Installation
------------

[](#installation)

With Composer :

```
composer require willy-gilly/qswg
```

It requires Laravel AdminLTE, if you didn't installed it yet, maybe use the shell script here next time : Github : You also might use Laravel Passport to use `app\Http\Controllers\API\LoginController.php`

```
php artisan qswg:install
```

Add the following things into `app\Http\Kernel.php` :

```
use App\Http\Middleware\SetLocale;
use App\Http\Middleware\ForceJsonResponse;
```

```
protected $middleware = [
        'setLocale' => SetLocale::class,
        //ForceJsonResponse::class,
    ];
```

```
 protected $routeMiddleware = [
         'setLocale' => SetLocale::class,
        'json.response' => ForceJsonResponse::class,
    ];
```

You can also add lang menu into AdminLTE config file
====================================================

[](#you-can-also-add-lang-menu-into-adminlte-config-file)

So go into `config/adminlte.php` and add the following into the menu :

```
//lang
        [
            'text' => 'language',
            'icon' => 'fas fa-language',
            'icon_color' => 'red',
            'topnav_right' => 'true',
            'submenu' => [
                [
                    'text' => 'english',
                    'icon' => 'flag-icon flag-icon-gb',
                    'url' => 'setLang/en',
                ],
                [
                    'text' => 'french',
                    'icon' => 'flag-icon flag-icon-fr',
                    'url' => 'setLang/fr',
                ],
                [
                    'text' => 'german',
                    'icon' => 'flag-icon flag-icon-de',
                    'url' => 'setLang/de',
                ],
                [
                    'text' => 'spanish',
                    'icon' => 'flag-icon flag-icon-es',
                    'url' => 'setLang/es',
                ],
                [
                    'text' => 'italian',
                    'icon' => 'flag-icon flag-icon-it',
                    'url' => 'setLang/it',
                ],
            ],
        ],
```

And places this into `resources\lang\vendor\adminlte\{lang}` for each lang you need to translate the words of languages as well :

```
    'english'                       => 'English',
    'french'                        => 'French',
    'spanish'                       => 'Spanish',
    'german'                        => 'German',
    'italian'                       => 'Italian',
```

*Of course you can remove or add any of langs you need.*Be sure to use : ``into your main view file to get the flag icons (it is already installed into AdminLTE plugins).

License
-------

[](#license)

MIT

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/e367b95036633571348a5ebb31839559735198fd88378d32db4f0d004f27eaf0?d=identicon)[Willy-Gilly](/maintainers/Willy-Gilly)

---

Top Contributors

[![Willy-Gilly](https://avatars.githubusercontent.com/u/58342490?v=4)](https://github.com/Willy-Gilly "Willy-Gilly (24 commits)")

### Embed Badge

![Health badge](/badges/willy-gilly-qswg/health.svg)

```
[![Health](https://phpackages.com/badges/willy-gilly-qswg/health.svg)](https://phpackages.com/packages/willy-gilly-qswg)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
