jacksonsr45 / radiante-php
这是一个简单的PHP微框架
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^10.2
This package is auto-updated.
Last update: 2024-09-09 15:52:13 UTC
README
RadiantPHP 是一个用于构建PHP网络应用的轻量级微框架。它提供了一个简单而优雅的结构,可以轻松开发Web项目。使用RadiantPHP,您可以快速构建RESTful API、Web服务或小型到中型网站。
RadiantPHP ServerRequestFactory 提供了一种简单方便的方式,在您的PHP应用程序中处理HTTP请求和响应。本文档将指导您如何将ServerRequestFactory集成到您的index.php文件中,以处理传入的请求并发送适当的响应。
安装
在您的项目目录下,打开终端并输入以下命令!
composer require jacksonsr45/radiante-php
用法
按照以下步骤将RadiantPHP ServerRequestFactory集成到您的index.php文件中
- 导入所需的类:
<?php use Jacksonsr45\RadiantPHP\ServerRequestFactory;
- 包含Composer自动加载器,并将路径设置为您的
routes.php文件
require_once __DIR__ . '/../vendor/autoload.php'; $pathToRoute = __DIR__ . '/routes.php';
- 创建ServerRequest并处理请求
$request = ServerRequestFactory::createServerRequest($pathToRoute); $response = ServerRequestFactory::handleRequest($request);
- 发送HTTP响应
ServerRequestFactory::sendHttpResponse($response);
示例
以下是集成RadiantPHP ServerRequestFactory后您的index.php文件应如何看起来
<?php use Jacksonsr45\RadiantPHP\ServerRequestFactory; require_once __DIR__ . '/../vendor/autoload.php'; // Creating a new container $container = ContainerFactory::build(); $pathToRoute = __DIR__ . '/routes.php'; $request = ServerRequestFactory::createServerRequest($pathToRoute, $container); $response = ServerRequestFactory::handleRequest($request); ServerRequestFactory::sendHttpResponse($response);
请确保将'../vendor/autoload.php'替换为正确的Composer自动加载器路径,如果它不同的话。
路由
使用方法 [GET、PUT、DELETE、PUT] 轻松创建路由,第一步是使用类 Route 的实例,另一个使用 method,在方法中需要一个字符串作为 路由路径,以及一个包含 Controller::class 和 类方法 的数组。
创建一个GET路由:
<?php use Jacksonsr45\RadiantPHP\Http\Route; Route::get('/user', [UserController::class, 'list']);
<?php use Jacksonsr45\RadiantPHP\Http\Route; Route::get('/user/<int:id>', [UserController::class, 'show']);
创建一个POST路由:
<?php use Jacksonsr45\RadiantPHP\Http\Route; Route::post('/user', [UserController::class, 'create']);
创建一个DELETE路由
<?php use Jacksonsr45\RadiantPHP\Http\Route; Route::delete('/user/<int:id>', [UserController::class, 'delete']);
创建一个PUT路由
<?php use Jacksonsr45\RadiantPHP\Http\Route; Route::put('/user', [UserController::class, 'update']);
创建控制器:
创建一个新的控制器很简单,创建一个新的类,在这个类中,如果需要,使用DI创建一个 __construct(),然后注入一个接口。
根据功能需要在index.php中包含部分代码
$container->set(ResponseInterface::class, create(Response::class));
在控制器中需要
use Jacksonsr45\RadiantPHP\Http\Message\Interfaces\ResponseInterface; class UserController { public function __construct( private readonly ResponseInterface $response ) {} public function index(): ResponseInterface { return $response->withStatus(200)->write('Hello World!'); } }
通过这些简单的步骤,您已成功将RadiantPHP ServerRequestFactory集成到您的index.php文件中,允许您在PHP应用程序中处理传入的HTTP请求并发送适当的响应。