API(Application Programming Interface)即应用程序编程接口,是一种让应用程序之间进行交互的协议。在PHP中,API接口通常用于提供数据给前端应用,或者接收前端发送的数据进行处理。
以下是一个简单的PHP RESTful API示例,使用Slim
框架:
<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/vendor/autoload.php';
$app = AppFactory::create();
$app->get('/api/users', function (Request $request, Response $response, $args) {
$data = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob']
];
$response->getBody()->write(json_encode($data));
return $response->withHeader('Content-Type', 'application/json');
});
$app->post('/api/users', function (Request $request, Response $response, $args) {
$data = json_decode($request->getBody(), true);
// 处理数据,例如保存到数据库
$response->getBody()->write(json_encode(['status' => 'success']));
return $response->withHeader('Content-Type', 'application/json');
});
$app->run();
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");
header("Access-Control-Allow-Headers: Content-Type");
filter_var
函数或第三方库(如Respect/Validation
)进行数据验证。use Respect\Validation\Validator as v;
$data = json_decode($request->getBody(), true);
$validator = v::key('name', v::stringType())->key('email', v::email());
if (!$validator->validate($data)) {
$response->getBody()->write(json_encode(['status' => 'error', 'message' => $validator->getErrorMessages()]));
return $response->withHeader('Content-Type', 'application/json');
}
通过以上内容,你应该对PHP网站API接口的写法有了基本的了解,并且知道如何解决一些常见问题。
云+社区技术沙龙[第14期]
云+社区沙龙online第6期[开源之道]
Elastic 实战工作坊
Elastic 实战工作坊
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第25期]
云+社区技术沙龙[第15期]
领取专属 10元无门槛券
手把手带您无忧上云