willy-gilly / qswg
用于创建继承特定控制器而非默认控制器的个人工具
Requires
- php: >=7.2.0
- laravel/framework: >=6.0
This package is auto-updated.
Last update: 2024-09-17 04:09:46 UTC
README
我之所以这样做,是因为每次我开始一个新项目,我都要做这些事情,所以基本上是在浪费时间做重复的事情,而当一个任务是重复的,让我们做一些事情来自动完成它。
- 我仍然使用 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