用于创建继承特定控制器而非默认控制器的个人工具

dev-master 2021-10-16 21:30 UTC

This package is auto-updated.

Last update: 2024-09-17 04:09:46 UTC


README

N|Solid N|Solid

我之所以这样做,是因为每次我开始一个新项目,我都要做这些事情,所以基本上是在浪费时间做重复的事情,而当一个任务是重复的,让我们做一些事情来自动完成它。

  • 我仍然使用 AdminLTE 包
  • 随着时间的推移,事情可能会发生变化
  • 如果你认为我在这个上面浪费了时间,嗯,是的,可能吧,但至少我学会了如何制作一个包,这是一个很好的经验。

功能

  • 快速制作从一个控制器继承另一个控制器的控制器
  • 基于AdminLTE页面制作blade视图的命令
  • 语言隐式使用

创建一个继承自其他控制器的控制器

(小心,我只是将原始文档中的“controller”和“make”进行了反转)

    php artisan controller:make {controllerName} {extendsName}

将创建一个文件夹(如果不存在):app\Http\Controllers\ExtendingName 然后创建你的控制器 app\Http\Controllers\{ExtendingName}\{ControllerName}{ExtendingName}Controller.php 它将使用正确的命名空间并继承自{ExtendingName}Controller(将使用父构造函数)

制作语言文件

    php artisan make:lang {name}

将在 resources\lang\{langs} 中创建语言文件,其中{langs}是位于config\qswg.php中的语言数组

制作视图文件

    php artisan make:view {name} {path}

将在 resources\views\{path}\{name}.blade.php 中创建一个PHP Blade文件(留路径为空以将其放在视图文件夹的根目录)它使用AdminLTE的空白页面

技术

  • Laravel
  • AdminLTE
  • Blade

安装

使用Composer

composer require willy-gilly/qswg

它需要Laravel AdminLTE,如果你还没有安装它,也许下次可以使用下面的shell脚本:Github:https://github.com/Willy-Gilly/Laravel-Auth-AdminLTE-Installer 你也可以使用Laravel Passport来使用 app\Http\Controllers\API\LoginController.php

php artisan qswg:install

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,
    ];

你也可以在AdminLTE配置文件中添加语言菜单

因此,进入 config/adminlte.php 并在菜单中添加以下内容

//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',
                ],
            ],
        ],

并将此内容放入 resources\lang\vendor\adminlte\{lang} 以翻译所需语言的单词,对于每种需要翻译的语言

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

当然,你可以删除或添加你需要的任何语言。 请确保在你的主视图文件中使用:<link rel="stylesheet" href="{{ asset('vendor/flag-icon-css/css/flag-icon.min.css')}}"> 来获取国旗图标(它已安装在AdminLTE插件中)。

许可证

MIT