SQL Formatter 开源项目教程

SQL Formatter 开源项目教程

sql-formatterA lightweight php class for formatting sql statements. Handles automatic indentation and syntax highlighting.项目地址:https://gitcode.com/gh_mirrors/sqlfo/sql-formatter

1. 项目的目录结构及介绍

SQL Formatter 项目的目录结构如下:

sql-formatter/
├── src/
│   ├── Formatter.php
│   ├── Lexer.php
│   ├── Token.php
│   ├── Utils.php
│   └── languages/
│       ├── StandardSql.php
│       ├── N1ql.php
│       ├── PlSql.php
│       └── Sql.php
├── tests/
│   ├── FormatterTest.php
│   ├── LexerTest.php
│   ├── TokenTest.php
│   └── languages/
│       ├── StandardSqlTest.php
│       ├── N1qlTest.php
│       ├── PlSqlTest.php
│       └── SqlTest.php
├── .gitignore
├── composer.json
├── LICENSE
├── README.md
└── phpunit.xml

目录结构介绍

  • src/:包含项目的主要源代码文件。
    • Formatter.php:格式化 SQL 语句的主要类。
    • Lexer.php:用于词法分析的类。
    • Token.php:表示词法分析中的 Token 类。
    • Utils.php:包含一些实用工具函数。
    • languages/:包含不同 SQL 方言的格式化类。
  • tests/:包含项目的单元测试文件。
    • FormatterTest.php:测试 Formatter 类的单元测试。
    • LexerTest.php:测试 Lexer 类的单元测试。
    • TokenTest.php:测试 Token 类的单元测试。
    • languages/:包含不同 SQL 方言的单元测试类。
  • .gitignore:Git 忽略文件配置。
  • composer.json:Composer 依赖管理文件。
  • LICENSE:项目许可证文件。
  • README.md:项目说明文档。
  • phpunit.xml:PHPUnit 测试配置文件。

2. 项目的启动文件介绍

SQL Formatter 项目的启动文件是 src/Formatter.php。这个文件包含了格式化 SQL 语句的主要逻辑。

启动文件介绍

  • Formatter.php
    • 该文件定义了 Formatter 类,提供了格式化 SQL 语句的方法。
    • 主要方法包括:
      • format($sql, $options = []):接受 SQL 字符串和可选的配置选项,返回格式化后的 SQL 字符串。

3. 项目的配置文件介绍

SQL Formatter 项目的配置文件是 composer.json。这个文件定义了项目的依赖和其他配置信息。

配置文件介绍

  • composer.json
    • require:定义了项目所需的依赖包。
    • require-dev:定义了开发环境所需的依赖包。
    • autoload:定义了自动加载的规则。
    • scripts:定义了一些脚本命令,如测试命令等。
{
    "name": "doctrine/sql-formatter",
    "type": "library",
    "description": "A lightweight php class for formatting sql statements. Handles automatic indentation and syntax highlighting.",
    "keywords": ["sql", "formatter", "highlighting"],
    "homepage": "https://github.com/doctrine/sql-formatter",
    "license": "MIT",
    "authors": [
        {
            "name": "Jeremy Dorn",
            "email": "jeremy@jeremydorn.com",
            "homepage": "http://jeremydorn.com/"
        },
        {
            "name": "Justin Rainbow",
            "email": "json.justin.rainbow@gmail.com"
        },
        {
            "name": "Martin Jonsson",
            "email": "martin.jonsson@gmail.com"
        }
    ],
    "require": {
        "php": ">=5.6"
    },
    "require-dev": {
        "phpunit/phpunit": "^5.7 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
    },
    "autoload": {
        "psr-4": {
            "Doctrine\\SqlFormatter\\": "src/"

sql-formatterA lightweight php class for formatting sql statements. Handles automatic indentation and syntax highlighting.项目地址:https://gitcode.com/gh_mirrors/sqlfo/sql-formatter

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温欣晶Eve

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值