帝国论坛帝国网站管理系统交流区帝国CMS使用交流[原创]一个框架是怎么炼成的 写帝国api做一个教学 【本版专题贴子】  
主题:[原创]一个框架是怎么炼成的 写帝国api做一个教学 [加入收藏夹]   

cighsen02
用户头衔:进士

精华贴   :0
发贴数   :1074
经验值   :4062
注册时间:2009-09-29
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]一个框架是怎么炼成的 写帝国api做一个教学
从  --->>>  一个非常极简的HTTP--->>> 框架 开始

php 版本放了比较高,8.5。



<?php

declare(strict_types=1);

/**
* 安心站长axzz.cn,一个追求技术创造者。让网站、小程序、APP牛起来……
*
* cighsen02 365182575
*
* Create at: 2026.01.18
*/

use Uri\Rfc3986\Uri;

/**
* 使用 comopser
*/
require __DIR__.'/../vendor/autoload.php';

$stringUri = $_SERVER['REQUEST_URI'] ?? '/';
$method = $_SERVER['REQUEST_METHOD'] ?? 'GET';
$path = new Uri($stringUri)->getPath();

/**
* json响应
*/
header('Content-Type: application/json; charset=utf-8');
if ($method === 'GET' && $path === '/health') {
    json_response(['ok' => true, 'time' => date(DATE_ATOM)]);
}
if ($method === 'POST' && $path === '/users') {
    $body = read_jsonBody();
    $email = strtolower(trim((string) ($body['email'] ?? '')));
    $name = trim((string) ($body['name'] ?? ''));
    if (! filter_var($email, FILTER_VALIDATE_EMAIL)) {
        json_response(['error' => 'Invalid email'], 422);
    }
    if ($name === '') {
        json_response(['error' => 'Name is required'], 422);
    }
    $id = random_int(1000, 9999);
    json_response(['id' => $id, 'email' => $email, 'name' => $name], 201);
}
json_response(['error' => 'Not found'], 404);



最简单已经实现了

完整代码: https://gitee.com/twoir/ecmsapi/tree/ecmsapi-dev

[该贴被修改 1 次,最后修改时间 2026-01-18 16:20:12 ]


要上就上安心站长 www.axzz.cn q:365182575
2026-01-18 16:19:27 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :6356
经验值   :18169
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

没看懂




2026-01-19 07:49:50 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1