赵果 / 赵果-app
使 Restful API 开发更加轻松 💤
v2.0.0
2024-09-22 15:12 UTC
Requires
- php: >=8.1
- ext-pdo: *
- pionia/pionia-core: ^2.0
README
赵果框架是一个用于构建 RESTFUL API 的 PHP 框架。它是一个易于使用和理解的轻量级框架。
它运行在✨ 月光✨ 架构之上。
创建项目
composer create-project pionia/pionia project_name
请记住将 project_name
替换为您项目的名称
目录
|-authentications |-bootstrap |----application.php |----routes.php |-commands |-environment |----.env |----settings.ini |-middlewares |-public |-- .htaccess |-- index.php services static |-- favicon.png |-- pionia_logo.webp |-- favicon.ico |-- bootstrap.min.css storage |-- cache |-- logs |-- scripts vendor .gitignore composer.json composer.lock pionia README.md
- 📂 认证:这是认证后端应该所在的位置。这些是应用将用于验证用户到应用上下文的策略。
- 📂 中间件:这是所有请求中间件所在的位置。这些是在每个请求和每个响应上运行的类。
- 📂 服务:这是我们的实际业务逻辑所在的位置。
- 📂 命令:这是所有我们的命令行命令所在的位置。
- 📂 环境:这是所有我们的环境设置所在的位置。
- 📂 存储:这是所有我们的存储文件所在的位置。
- 📂 静态:这是所有我们的静态文件所在的位置。这里找到的默认文件永远不应被删除。
- 📂 供应商:这是所有我们的 composer 依赖所在的位置。
- 📄 .gitignore:这是我们指定不应由 git 跟踪的文件的位置。
- 📄 composer.json:这是我们指定所有 composer 依赖的位置。
- 📄 composer.lock:这是我们指定所有 composer 依赖的位置。
- 📄 pionia:这是我们命令行助手。对于每个命令,我们都调用此文件。
- 📂 public:这是我们的公共文件所在的位置。这是我们的入口文件所在的位置。
- 📄 switches:这是我们的主要应用开关所在的位置。这是我们注册所有服务的地方。
- 📄 pionia:这是我们命令行助手。对于每个命令,我们都调用此文件。
- 📄 README.md:这是我们文档文件。这是我们记录我们的项目的地方。
- 📂 bootstrap:这是我们的应用程序引导文件所在的位置。这是我们注册所有路由的地方。
安装后,只需运行以下命令即可启动服务器
php pionia serve # https://#:8000
默认情况下,服务器将在端口 8000 上运行,要更改端口,请运行以下命令
php pionia serve --port 8080 # https://#:8080
您的端点现在运行在 https://#:8080/api/v1/
官方文档
您可以按照文档操作,但文档正在积极开发中。
您还可以运行 php pionia
以获取所有可用命令的列表。
如果您从前端发送任何 HTTP 请求,我们建议使用 jet-fetch
库。但是,其他框架特定的包仍然是可接受的,例如 z-fetch
(用于 z-js
)和 axios
。
在项目根目录下运行:
NPM
npm install jet-fetch
YARN
yarn add jet-fetch
然后使用该包的 moonlightRequest
方法查询任何 moonlight 驱动的后端。
import { Jet } from 'jet-fetch'; const jet = new Jet({ baseUrl: 'https://#:8000/api/', }); // unauthenticated requests const res = await jet.moonlightRequest( { service: 'yourService', action: 'yourAction', ...anyOtherData }, 'v2/'); // for jwt-authenticated requests const res = await jet.secureMoonlightRequest( { service: 'yourService', action: 'yourAction', ...anyOtherData }, 'v2/');
有关 jet-fetch
的详细信息,请参阅此处提供的 readme 指南。
贡献
欢迎所有形式的贡献,包括文档、编码、社区开发等。