赵果/赵果-app

使 Restful API 开发更加轻松 💤

v2.0.0 2024-09-22 15:12 UTC

This package is auto-updated.

Last update: 2024-09-22 20:02:32 UTC


README

Pionia Logo

赵果框架是一个用于构建 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
  1. 📂 认证:这是认证后端应该所在的位置。这些是应用将用于验证用户到应用上下文的策略。
  2. 📂 中间件:这是所有请求中间件所在的位置。这些是在每个请求和每个响应上运行的类。
  3. 📂 服务:这是我们的实际业务逻辑所在的位置。
  4. 📂 命令:这是所有我们的命令行命令所在的位置。
  5. 📂 环境:这是所有我们的环境设置所在的位置。
  6. 📂 存储:这是所有我们的存储文件所在的位置。
  7. 📂 静态:这是所有我们的静态文件所在的位置。这里找到的默认文件永远不应被删除。
  8. 📂 供应商:这是所有我们的 composer 依赖所在的位置。
  9. 📄 .gitignore:这是我们指定不应由 git 跟踪的文件的位置。
  10. 📄 composer.json:这是我们指定所有 composer 依赖的位置。
  11. 📄 composer.lock:这是我们指定所有 composer 依赖的位置。
  12. 📄 pionia:这是我们命令行助手。对于每个命令,我们都调用此文件。
  13. 📂 public:这是我们的公共文件所在的位置。这是我们的入口文件所在的位置。
  14. 📄 switches:这是我们的主要应用开关所在的位置。这是我们注册所有服务的地方。
  15. 📄 pionia:这是我们命令行助手。对于每个命令,我们都调用此文件。
  16. 📄 README.md:这是我们文档文件。这是我们记录我们的项目的地方。
  17. 📂 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 指南。

贡献

欢迎所有形式的贡献,包括文档、编码、社区开发等。

🔥🔥🔥 祝您好运,编码愉快 🔥🔥🔥