问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Laravel 后台插件有哪些推荐

发布网友 发布时间:2022-04-28 02:51

我来回答

3个回答

懂视网 时间:2022-04-28 07:12

下面由Laravel教程栏目给大家介绍代码生成包laravel-generator,希望对需要的朋友有所帮助!

Laravel-generator 代码生成包

https://github.com/HogenYuan/laravel-generator

Introduction

由于最近在做后台,需要类似于Gii的代码生成包,网上可能有比较丰富的包,不过没怎么去了解过,就根据自己习惯随手写了个方便自己使用的包,写的比较匆忙所以代码可能比较粗糙。目前只写了后端的,前端有时间在写。

1. 根据自定义框架目录,修改*.stub生成自定义的初始代码

2. 支持model + filter + request + resource + service + controller + migration + test

3. 自动读取同名数据表并填充到 model + resource + migration 的字段


Installation

composer require hogenlaravel-generator

php artisan vendor:publish --tag=generator
  • config/app.php
  • 'providers' => [
    
     ··· AppConsoleCommandsGeneratorGeneratorServiceProvider::class];

    Run

  • 请先根据自己的框架目录和代码格式修改默认代码格式stub文件
  • ## name : 必填,短横式命名的资源名称}## --module= : 必填,指定三级模块(大小写规范) 如:GasStation/MainCard/Balance## --prefix= : 指定二级前缀(大小写规范) 默认:AdminApi## --baseDir= : 指定一级目录(大小写规范) 默认:Http## --force : 覆盖已存在文件## --filter : 使用filter筛选类## --test : 生成测试文件例子:
    
    //有大小写规范
    
    * Path: AppHttpControllerAdminApiUserExample 
    
    php artisan admin:make-resource testExample --force --baseDir=Http --prefix=AdminApi --module=UserExample
    
    * Path: AppAdminControllerUserExample
    
    php artisan admin:make-resource testExample --force --filter --baseDir=Admin --module=UserExample

    Deployment自定义配置

    GeneratorMakeResource.php

    protected $types = [
    
     'model', 'request', 'resource', 'service', 'controller', 'test', 'migration'];
  • 选择需要生成的组件,filter和test默认不开启

  • 有先后顺序之分,需按照上图顺序填写

  • 目录规则

    protected $pathFormat = [
    
     'model' => ['inBaseDir' => false, 'prefix' => ''],
    
     'service' => ['inBaseDir' => false, 'prefix' => ''],
    
     'test' => ['inBaseDir' => false, 'prefix' => true],
    
     'request' => ['inBaseDir' => true, 'prefix' => true],
    
     'resource' => ['inBaseDir' => true, 'prefix' => true],
    
     'controller' => ['inBaseDir' => true, 'prefix' => true],
    
     'migration' => ['inBaseDir' => false, 'prefix' => ''],];
  • 在此修改各模块的路径规则设置,会影响各文件的命名空间和类名

  • inBaseDir决定是否在BaseDir内,默认Http

  • prefix决定是否在二级前缀内

  • Filter筛选器

    protected $createFilter = false;protected $baseFilterHelperPath = "ModelsTraitsFilter";
  • 默认不开启

  • 生成的filter基类的路径 例: App/Models/Traits/Filter.php

  • 路径生成只遵循$pathFormat中model的inBaseDir规则,不遵循prefix,避免个trait的生成

  • 数据库字段填充

    /**
    
     * 手动配置
    
     * resource文件中不需要添加到 $fillable 的字段
    
     *
    
     * @var string[]
    
     */protected $resourceNoFillableFields = [
    
     'update_time',
    
     'updated_time',
    
     'delete_time',
    
     'deleted_time',];/**
    
     * 手动配置
    
     * model文件中不需要添加到 $fillable 的字段
    
     *
    
     * @var string[]
    
     */protected $modelNoFillableFields = [
    
     'id',
    
     'create_time',
    
     'created_time',
    
     'update_time',
    
     'updated_time',
    
     'delete_time',
    
     'deleted_time',];

    Code Format 修改默认代码格式

  • 参考各stub配置自定义默认格式

  • 以下stub为简化后的代码习惯,按需修改

  • Generatorstubs*.stub

    <?php
    
    namespace DummyNamespace;
    
    use NamespacedDummyModel;
    
    use NamespacedDummyRequest;
    
    use NamespacedDummyResource;
    
    use NamespacedDummyService;
    
    use BaseNamespaceResourceEmptyResource;
    
    use BaseNamespaceControllerController;
    
    class DummyClass extends Controller
    
    {
    
     public function index(DummyRequest $request){
    
     $validated = $request->validated();
    
     $dummyModels = DummyModel::query()
    
      ->filter($validated)
    
      ->orderByDesc('id')
    
      ->paginate();
    
     return DummyResource::collection($dummyModels);
    
     }
    
     ···
    
    }

    TODO

    1. 前端根据组件生成

    热心网友 时间:2022-04-28 04:20

    - Laravel-admin 较庞大的后台组件
    - [LavaLite]( https://github.com/LavaLite/cms) 国外内容管理系统
    -[nova]( https://nova.laravel.com) 官方生成器,需付费
    -[LaravelPlus]( https://github.com/ElapseAnnals/LaravelPlus) 个人基于 laravel 的魔改版本
    - laravel-generator 代码,接口生成工具
    - reliese/laravel 模型生成器

    热心网友 时间:2022-04-28 05:38

    jenssegers/agent ,user-agent处理组件
    entrust , rbac权限组件
    laravel-mongodb ,基于eloquent的mongodb组件
    easywechat ,微信接口sdk
    这几个是我个人用过,而且还都很不错的laravel组件
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 将给定字符的第一个字母变成大写字母,其他字母变成小写字母 ucfirst — 将字符串的首字母转换为大写? php中字符串首字母转小写方法? PHP或者Mysql怎么把中文字符串的第一个字符替换成对应的英文大写字母? php如何对字符串进行大小写转换 自学PHP的流程! 关于PHP开发论坛详细流程应怎样设计? 开发PHP网站的步骤是什么,我需要一个系统的步骤。就是说先做什么,后做什么。。谢谢各位了。 请简单描述PHP程序的工作流程。 请问php程序员主要的开发工作流程是什么 php网站开发流程是怎么样的 php开发的工作流程 php 转义字符 php中的字符串和字符转义02 php转义字符,斜杠、艾特符和and符 请问php中的转义字符是把php代码转义成html代码,对吗? 关于php转义字符/ php转义字符,这是什么意思 PHP转义字符 php中正则表达式中必须转义的字符有哪些 有什么增删改查代码生成器可以推荐? laravel中faker能生成的字段类型有哪些 PHP中父类里调用子类的方法 子类怎样调用父类方法 php子类调用父类的常量 子类可以继承父类中的静态属性和静态方法吗 Java中子类可以继承父类的静态方法吗 java 子类怎么调用父类的静态方法 子类继承父类的静态成员变量,可以直接用子类名调用父类的成员变量吗? php如何让一个有健值的数组倒序排列(每个元素的健值不变)? php合并数组并保留键值的实现方法 php 程序:对数组按键名从大到小排列要用什么函数 ,要保持原键名不变 PHP使用array_multisort对多个数组或多维数组进行排序 php如何根据数组中的键值进行排序 PHP 对数组排序 php 数组排序问题 PHP数组排序之sort、asort与ksort用法实例 php 多维数组键值重新排序 php数组合并并保持两个数组的键名都不变,array_merge会使键名发生变化,有其他函数吗? 对数组进行排序并保持索引关系?