<p align="center">
<a href="https://railt.org"><img src="https://avatars.githubusercontent.com/u/31258828?s=300" width="150" alt="Railt" /></a>
</p>
<p align="center">
<a href="https://packagist.org/packages/railt/railt"><img src="https://poser.pugx.org/railt/railt/require/php?style=for-the-badge" alt="PHP 8.1+"></a>
<a href="https://railt.org"><img src="https://yellow-cdn.veclightyear.com/2b54e442/8d39bfcd-4746-40d8-a26f-3e369869c786.svg?style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9eWEHEAAAAJXRSTlMAoBzg8fxU9iFgsvjQwblyZdQYrYR0a1oT6dqlkH93TjQNC6N2001YMwAAAM5JREFUOMvNUtkOgzAMS3pwdMA4BjvZxfz/v7hOIEAt2hMP+MWN4kRRbdoYxMfIMJSmFsvtTmOA5gVJoLADkigqYB8qcPsNUOVQpd2kkFdA48wDe8rQkkWLjPbAfIedsv2T1uWvKLU+WYWa39HBEB2R9lWKI1EFphUhD5QpyqXLo4DTd4gns8ujIA6Dc3G/xC6PggjJ9ZYgcnl2BOIHpMcTGOK1Y4/XBPtfbcB/zapHs3y7D5PdfmBEHxgDNMuRK6bIeRDshtaX1EPsS9oWvv3QFx9Wvu0UAAAAAElFTkSuQmCC" alt="railt.org"></a>
<a href="https://discord.gg/ND7SpD4"><img src="https://yellow-cdn.veclightyear.com/2b54e442/9001b946-1c3a-482d-8ab8-5db00e74bdbb.svg?style=for-the-badge&logo=discord&logoColor=ffffff" alt="Discord"></a>
<a href="https://packagist.org/packages/railt/railt"><img src="https://poser.pugx.org/railt/railt/v?style=for-the-badge" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/railt/railt"><img src="https://poser.pugx.org/railt/railt/v/unstable?style=for-the-badge" alt="Total Downloads"></a>
<a href="https://raw.githubusercontent.com/railt/railt/master/LICENSE.md"><img src="https://poser.pugx.org/railt/railt/license?style=for-the-badge" alt="License MIT"></a>
</p>
<p align="center">
<a href="https://github.com/railt/railt/actions?workflow=Testing"><img src="https://yellow-cdn.veclightyear.com/2b54e442/9366be56-79cf-4556-a852-caa6fec30469.svg" alt="Testing" /></a>
</p>
简介
项目理念是干净和高质量的代码。
与大多数(目前所有)实现不同,如webonyx、
youshido或digitalonline,
Railt包含一个完全自己实现的GraphQL SDL解析器,
它基于类EBNF语法。
这个机会不仅允许拥有语言的原始实现并
始终保持它最新,而且还可以实现新的向后兼容
功能,这是其他实现所不具备的。
Railt的目标:
- 不重复JS基础实现中犯的错误。
- 为PHP开发人员实现现代和便捷的环境。
- 实现轻松集成到任何基于PSR的现成解决方案中。
- 提供熟悉的功能(包括依赖注入、路由等)。
安装
composer require railt/railt
快速入门
本教程将帮助您:
- 获得对GraphQL原理的基本理解。
- 定义一个代表数据集结构的GraphQL模式。
- 运行Railt应用程序的实例,让您可以针对模式执行查询。
本教程假设您熟悉命令行和PHP,并且已安装最新版本的PHP(v8.1+)。
步骤1:创建新项目
- 从您喜欢的开发目录中,创建一个新项目的目录并
cd
进入:
mkdir railt-example
cd railt-example
- 使用Composer初始化一个新项目:
composer init
composer require railt/railt dev-master@dev