iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Dcat Admin 入门应用(二)代码生成器
  • 240
分享到

Dcat Admin 入门应用(二)代码生成器

2024-04-02 19:04:59 240人浏览 八月长安
摘要

一、代码生成器 在日常开发中,我们可以用代码生成器一键生成增删改查页面代码,非常的方便快捷。 1、一键生成增删改查页面 1.1、将项目的APP_DEBUG开起(true),打开项目即可看到侧边栏的开发工具菜单,打开代码生成器; 1.2

一、代码生成器

在日常开发中,我们可以用代码生成器一键生成增删改查页面代码,非常的方便快捷。

1、一键生成增删改查页面

1.1、将项目的APP_DEBUG开起(true),打开项目即可看到侧边栏的开发工具菜单,打开代码生成器;

image.png

1.2、点击已有数据库,选择需要生成页面的数据表,选择之后会自动填充字段信息,效果如下,:

image.png

  • 1.2.1、选择数据表后会自动填充处理主键Id和时间戳意外的字段
  • 1.2.2、可以选择性的创建业务文件:迁移文件、model、数据仓、控制器等等,如有文件已存在按需选择
  • 1.2.3、翻译字段信息,这将以字段标题的形式展现在列表页面和相关的数据页面

1.3、点击提交就可以自动生成相关文件,目录如下:

    app/Admin
    ├── Controllers
    │   └── AdminUserController.PHP  # 控制器
    └── Repositories                 # 数据仓库
    │   └── AdminUser.php
    resouces/lang/{当前语言}
    └── admin-user.php  
    ├── Models                        # 数据模型
    │   └── AdminUser.php       

3、添加路由

打开路由配置文件app/Admin/routes.php,往里面添加一行:

    $router->resource('adminUser', 'AdminUserController');

到此,就可以打开浏览器输入地址Http://你的域名/admin/adminUser访问刚刚创建完的页面了

4、添加左侧菜单

打开项目主页,可以看到页面如下,可以在此处添加左侧菜单栏:

image.png

注意:

  • 添加路径的时候需要去除admin.php里面配置的路由前缀(默认是admin)
  • 如果添加的是外部链接的话,需要添加完整的链接地址

5、菜单语言翻译文件

在您的语言文件的menu_ti<x>tles索引中追加菜单标题。 例如“工作单位”标题:

在resources/lang/{当前语言}/admin.php中


    // 用_小写并用_替换空格
    'menu_titles' => [
        'work_units' => '当前语言包翻译内容'
    ],


自此完成了代码生成器的使用和增删改查页面的生成

二、增删改查功能简易说明

1、控制器

Dcat Admin的增删改查页面代码是非常简洁和易懂的,对开发者非常的友好,只需极少的代码即可构建出一个功能完善的后台系统,并且非常简单灵活和易于扩展。

打开app/Admin/Controllers/AdminUserController.php可以看到如下代码


<?php

namespace App\Admin\Controllers;

use App\Admin\Repositories\User;
use Dcat\Admin\FORM;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;

class AdminUserController extends AdminController
{
    
     
    public function index(Content $content)
    {
        $content->header('产品管理');
        $content->description('草稿数据');

        $content->breadcrumb(
            ['text' => '管理', 'url' => '/sdk/manager/draft'],
            ['text' => '数据']
        );

        $grid = $this->grid();
        $this->addscript($grid);

        //filter
        $this->gridSearch($grid);

        //actions
        $this->gridActions($grid);

        //可以链式添加页面原始(html,js,CSS等)一个body相当于页面一个div.row层
        return $content->body($grid)->body(new Copyscript());
    }


    
    protected function grid()
    {
        return Grid::make(new User(), function (Grid $grid) {
            // 这里的字段会自动使用翻译文件
            $grid->column('id')->sortable();
            $grid->column('name');
            ...
            $grid->column('updated_at')->sortable();

            //筛选项,如果数据信息较多,建议单独方法处理筛选配置
            $grid->filter(function (Grid\Filter $filter) {
                $filter->equal('id');

            });
        });
    }

    
    protected function detail($id)
    {
        return Show::make($id, new User(), function (Show $show) {
            // 这里的字段会自动使用翻译文件
            $show->field('id');
            $show->field('name');
            ...      
            $show->field('created_at');
            $show->field('updated_at');
        });
    }

    
    protected function form()
    {
        return Form::make(new User(), function (Form $form) {
            // 这里的字段会自动使用翻译文件
            $form->display('id');
            $form->text('name');
            ...
            $form->display('created_at');
            $form->display('updated_at');
        });
    }
    
     
    public function update($id)
    {
        //原始操作
        //return $this->form()->update($id);

        //扩展操作
        $form = (new AccountEdit())->accountStatusEdit();
        $update = $form->update($id);
        $status = request()->input('status');
        $response = JSON_decode($update->getContent(), true);
        if ($response && isset($response['status']) && $response['status'] && in_array($status, [3, 4])) {
            AccountLoginTokenDao::removeAccountToken($id);
        }
        
        return $update;
    }

}

控制器方法简述:

  • 自动生成:
    • grid:页面列表数生成器:生成信息、展示基础信息、关联数据信息、自定义状态显示等等,更多请参考,grid使用方法
    • detail:数据详情生成器,选择数据显示
    • form:表单生成器,如数据编辑、新增等功能,生成基础表单
  • 扩展重写
    • index:代码生成器不会主动创建该方法,如果有需要可以自定义重写该方法:比如,按需加载js、css,或者需要自定义页面布局等等,根据业务需要进行重写
    • update:该方法是自定义编辑,当自动生成的表单不满足编辑需求的是,可以自定表单和更新方法,然后处理更新结果

2、数据仓

打开刚生成的文件app/Admin/Repositories/AdminUser.php,可以看到只有如下内容,非常简单:

<?php

    namespace App\Admin\Repositories;
    
    use Dcat\Admin\Repositories\EloquentRepository;
    use App\User as UserModel;
    
    class AdminUser extends EloquentRepository
    {
        protected $eloquentClass = UserModel::class;
    }

3、语言包

每个控制器都会生成相对于的语言包,语言包放置地址:resouces/lang/{当前语言}/admin-user.php。语言包命名是控制器文件名称去除controller后小写通过中横线连接:

<?php 
    return [
        // labels是自定义标签翻译
        'labels' => [
            // 这个是页面 title 翻译
            'User' => '用户',
        ],
        // 表字段翻译
        'fields' => [
            'name' => '名称',
            'email' => '邮箱',
            'email_verified_at' => '验证时间',
            'passWord' => '密码',
            'remember_token' => 'remember_token',
        ],
        'options' => [
        ],
    ];

--结束END--

本文标题: Dcat Admin 入门应用(二)代码生成器

本文链接: https://www.lsjlt.com/news/99305.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Dcat Admin 入门应用(二)代码生成器
    一、代码生成器 在日常开发中,我们可以用代码生成器一键生成增删改查页面代码,非常的方便快捷。 1、一键生成增删改查页面 1.1、将项目的APP_DEBUG开起(true),打开项目即可看到侧边栏的开发工具菜单,打开代码生成器; 1.2...
    99+
    2024-04-02
  • Dcat Admin 入门应用(三)Grid 之 Column
    1、数据仓 通过数据仓生成grid数据 <php namespace App\Admin\Repositories; use Dcat\Admin\Repositories\EloquentReposito...
    99+
    2024-04-02
  • Dcat Admin 入门应用(一)安装部署
    一、简介 Dcat Admin是一个基于laravel-admin二次开发而成的后台系统构建工具,只需极少的代码即可快速构建出一个功能完善的高颜值后台系统。支持页面一键生成CURD代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的...
    99+
    2024-04-02
  • Dcat Admin 入门应用(四)自定义页面
    自定义页面 Dcat Admin构建的是一个单页应用,加载的JS脚本只会执行一次,所以初始化操作不能直接放在JS脚本中,应该使用Admin::script方法载入。 示例 创建自定义页面 需要实现Renderable接口,统一实现rend...
    99+
    2024-04-02
  • Dcat Admin 入门应用(五)文件上传之OSS自定义上传
    数据表单通过以下的调用来生成图片/文件上传表单,支持本地和云存储的文件上传,该文章介绍如何通过自定义上传路径处理文件上传和将文件存储到阿里云OSS。 1、上传组件是基于webuploader实现的,具体的使用配置可参考webuploade...
    99+
    2024-04-02
  • Dcat Admin 入门应用(六)列模态窗-异步数据和同步数据展示
    模式窗按需显示:通过if条件判断是否在column上添加模态窗显示 模式窗同步和异步获取数据展示 选择性添加模态窗 通过列的if判断,可以进行选择行的添加显示方式 $grid->column('remark')->if(...
    99+
    2024-04-02
  • Python基础入门(迭代器和生成器)
    1 Python迭代器 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next(),且字符串、列表或元组对象...
    99+
    2023-01-30
    生成器 入门 迭代
  • 如何在 PHP 应用中集成二维码生成 API?
    随着移动互联网的发展,二维码已经成为我们生活中不可或缺的一部分。二维码具有快速、简单、便捷的特点,为我们的生活带来了极大的便利。在开发应用时,为了更好地体验和增加用户体验,我们需要将二维码集成到我们的应用中。 在 PHP 应用中,我们可以...
    99+
    2023-08-27
    二维码 npm api
  • scratch3.0二次开发之用blocks生成python代码
    目录一、引入一个生成代码的文件二、定义生成的python代码1、获取block的type2、获取参数的值3、从xml来解析一个块的组成结构三、生成python代码四、结语在开始之前,...
    99+
    2024-04-02
  • python应用之qrcode生成二维码的示例
    本文将为大家详细介绍“python应用之qrcode生成二维码的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python应用之qrcode生成二维码的示例”能够给你意想不到的收获,请大家跟着小编的思路慢...
    99+
    2023-06-06
  • ASP技术如何应用于二维码生成?
    随着二维码的广泛应用,越来越多的网站和应用程序需要集成二维码生成功能。ASP技术是一种广泛应用于Web开发的技术,那么ASP技术如何应用于二维码生成呢?本文将详细介绍ASP技术如何应用于二维码生成,并附上相应的演示代码。 一、二维码生成的...
    99+
    2023-08-22
    二维码 大数据 编程算法
  • 利用java生成二维码工具类示例代码
    二维码介绍二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来...
    99+
    2023-05-31
    java 生成二维码 工具类
  • Python3用2行代码生成动态二维码详解
    目录1、引言2、代码实战2.1 模块安装2.2 参数讲解2.3 代码实战2.3.1 静态二维码2.3.2 动态二维码总结1、引言 小屌丝:激动的心,颤抖的手。 小鱼:你这是有多累?...
    99+
    2024-04-02
  • 在大数据时代,Python如何应用于二维码生成和扫描?
    在大数据时代,二维码作为一种快速便捷的信息传递方式,被广泛应用于各个领域。Python作为一种高效、易学、易用的编程语言,也在二维码生成和扫描方面发挥着越来越重要的作用。本文将介绍Python在二维码生成和扫描方面的应用。 一、二维码生成 ...
    99+
    2023-11-04
    大数据 二维码 自然语言处理
  • 如何在Go中使用二维码生成器打包响应?
    在当今数字化时代,二维码已经成为一种广泛使用的技术。它可以用于多种场景,例如商业促销、门票验证、快速支付等。在本文中,我们将介绍如何在Go中使用二维码生成器打包响应。 第一步:安装QR码生成器 首先,我们需要安装一个Go语言的二维码生成器...
    99+
    2023-09-27
    二维码 打包 响应
  • 二维码生成器:在Linux上使用Java实现实时生成。
    随着智能手机和移动设备的普及,二维码已经成为了一个非常流行的工具。无论是在商业领域还是个人使用中,二维码都可以帮助我们更加便捷地分享信息。在本文中,我们将介绍如何在Linux上使用Java实现一个实时生成二维码的工具。 在开始之前,需要先...
    99+
    2023-07-29
    linux 实时 二维码
  • 如何使用IDEA代码生成器
    本篇内容主要讲解“如何使用IDEA代码生成器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用IDEA代码生成器”吧!基本使用IDEA 自带很多常用的动态模...
    99+
    2024-04-02
  • 二维码生成神器?如何用Java在Unix环境下打包并生成高清二维码。
    二维码已经成为了现代生活中不可或缺的一部分。它们可以用于各种应用,例如支付、活动入场、优惠券和广告等等。本文将介绍如何使用Java在Unix环境下打包并生成高清二维码。 Java是一种广泛使用的编程语言,其特点是跨平台、面向对象、安全性高等...
    99+
    2023-10-17
    打包 unix 二维码
  • 热门的十大CSS3代码生成器分别是哪些
    热门的十大CSS3代码生成器分别是哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。新出来的在线工具和web应用允许开发人员快...
    99+
    2024-04-02
  • 淘宝无痕下单生成器一拖多入口生成器(附api生成接口以代码)
    淘宝无痕下单生成器的用途是:通过无痕下单生成器生成的二维码,用户通过扫码直接无痕下单的,电商后台只显示成交关键词,但是没有关键词路径,什么都没有,没有痕迹,即使通过淘宝生意参谋流量路径、访客人数等数据都无法显示。可快速带动关键词搜索权重,获...
    99+
    2023-10-05
    java 开发语言 python 爬虫 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作