推荐Marwan - SQL 到 Laravel 生成器
Marwan 是一款强大的 PHP 库,能够将 SQL 查询转换为 Laravel 的 Query Builder 结构,从而帮助开发者更轻松地构建和理解 Laravel 中的数据库查询。这个工具由 Rexhep Shijaku 创建,并基于 PHP-SQL-Parser 进行解析,旨在提升开发效率并简化复杂 SQL 转换过程。
项目简介
Marwan 支持 Laravel 8,提供了在线演示以及本地安装选项。它不仅能够处理基本的 SQL 查询,还能转换复杂的联接、分组、聚合和条件语句。通过提供一个易于使用的 API,使得开发者可以快速将现有的 SQL 查询代码转化为 Laravel 风格的代码。
技术分析
Marwan 包含了三个主要部分:
- Extractor 类:负责从 SQL 查询中提取关键信息,使其更易被理解和处理。
- Builder 类:构建对应的 Laravel Query Builder 方法。
- Creator:作为核心控制器,协调 Extractor 和 Builder,以生成完整的 Laravel 查询代码。
此外,Marwan 使用 PHP-SQL-Parser 解析输入的 SQL 查询,然后自动生成相应的 Laravel 代码。
应用场景
- 快速将遗留或第三方 SQL 查询转换为 Laravel 代码,使代码风格保持一致。
- 对于熟悉 SQL 但不擅长 Laravel Query Builder 的开发者,Marwan 可以作为一个桥梁,降低学习曲线。
- 在编写复杂的数据库查询时,可以利用 Marwan 提供的示例进行参考。
项目特点
- 自动转换:只需提供 SQL 查询,Marwan 就会自动生成等价的 Laravel Query Builder 代码。
- 灵活配置:支持设置不同的选项,如是否使用数组形式表示条件(
group
参数)。 - 示例丰富:附带大量的示例,覆盖 Laravel Query Builder 文档中的各种用法。
- 在线试用:提供在线演示,方便实时查看转换结果。
开始使用
你可以通过手动下载或者使用 Composer 安装:
composer require rexshijaku/sql-to-laravel-builder
然后按照提供的简单示例,立即开始体验:
<?php
use RexShijaku\SQLToLaravelBuilder\SQLToLaravelBuilder;
require_once __DIR__ . '/vendor/autoload.php';
$sql = "SELECT * FROM users WHERE age > 18";
$converter = new SQLToLaravelBuilder();
echo $converter->convert($sql);
这将输出相应的 Laravel 代码:
DB::table('users')->where('age', '>', 18)->get();
Marwan 是一个既实用又便捷的工具,对于需要在 Laravel 中处理 SQL 查询的开发者来说,绝对值得尝试。现在就加入 Marwan,让数据库查询变得更简单吧!