书童造轮子之自动生成数据字典
86

每次开发项目时,总是会被要求提供数据字典,每次手动写文档太累了,所以写了 这个扩展自动读取数据库信息 并显示在网页上,支持导出 HtmlPDF 文件。

  1. 导出 Html 实际为生成并导出一个离线版本的压缩包。
  2. 导出 PDF 使用了 laravel-snappy 扩展包
  3. 导出 Markdown 为数据表增加了锚点链接。

安装

  1. 安装包文件

    $ composer require jormin/laravel-ddoc

配置

  1. 注册 ServiceProvider:

    Jormin\DDoc\DDocServiceProvider::class,
  2. 创建配置文件:

    php artisan vendor:publish

    执行命令后会在 config 目录下生成两个文件:

    • laravel-ddoc.php:本扩展配置文件,用于配置文档底部 Copyright 文案和链接。

    • snappy.phplaravel-snappy 的配置文件,用于配置导出 pdf 的选项。

      pdf.binary 项配置 wkhtmltopdf 执行文件的目录

      linux/unix/mac 系统的执行文件存放于 项目目录/vendor/h4cc/wkhtmltopdf-[amd64|i386]/bin/ 目录下

      wundiws 系统的执行文件存放于 项目目录/vendor/wemersonjanuario/wkhtmltopdf-windows/bin/[64bit|32bit]/ 目录下

使用

安装扩展后,浏览器访问 [http|https]://[your domain or ip]/ddoc

参考问题

  1. Q:导出的 PDF 文件中文不显示或者乱码?

    A:导致此问题的原因是机器上没有安装中文字体,解决方式如下

    1、先从本机或者网络上下载所需的中文字体
    2、修改字体文件的权限,使root用户以外的用户也可以使用
        $ cd /usr/share/fonts/chinese/
    3、建立字体缓存
        $ sudo mkfontscale
        $ # 如果提示 mkfontscale: command not found,则需要安装# sudo apt-get install ttf-mscorefonts-installer
        $ sudo mkfontdir 
        $ sudo fc-cache -fv
        $ # 如果提示 fc-cache: command not found,则需要安装# sudo apt-get install fontconfig

参考图

License

The MIT License (MIT). Please see License File for more information.

本帖由 Summer 于 1年前 加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 18
Summer

超赞 :+1:

1年前

这个还是挺贴心的!

1年前

@Summer 更新站长大大推荐 :smile: :smile:

1年前

@839891627 谢谢夸奖 :smile: :smile:

1年前

Laravel的生态真是棒呀

1年前

@Kr科 是啊,喜欢 Laravel 的同学越来越多了 :smile: :smile:

1年前

备注是根据什么生成的,还是手动录入的?

1年前

@徐小花 备注是在数据迁移文件中写好或者手动在数据库中写好,扩展只是读取这些信息

1年前

phpmyadmin可以导出字典,你这个轮子造的好冤。

1年前

@00x00 实际开发时,有很多人是没有登录 phpmyadmin 的权限的,像甲方、测试、移动端开发同事等,所以只能生成文档给他们看,每次数据结构更新后都需要再生成新的文档,手动操作太麻烦,所以才造了这个轮子

1年前

已star

1年前

@klgd 万分感谢 :smile: :smile:

1年前

去年因为项目需要,我也搞了一个数据字典工具 https://github.com/zhuzhichao/laravel-db-dict ,效果如下

filehttps://camo.githubusercontent.com/0bfeb8e2320451fd2a23da2c5a48ea7514c8ffbb/687474703a2f2f37786b7869622e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f6c61726176656c2d64622d646963742d64656d6f2d322e706e67

不过我这个可以后期自己添加一些字段的备注,和表的备注。因为开发时一些备注可能会过时或者干脆没有的。对这个备注的保存我还专门做了优化 :smile:

@徐小花

1年前

@zhuzhichao 手动点赞 :smile:

1年前

@Summer #13 楼样式有问题

1年前

导出 pdf 的这个插件好难用 :cry: 掉坑了

1年前

这个PDF导不出怎么个弄法

1年前
kenuo

5.5安装报错

1年前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!