anso/

http

Http 框架用于训练项目。

dev-master 2020-11-11 12:55 UTC

This package is auto-updated.

Last update: 2024-09-11 21:32:55 UTC


README

需求

PHP >= 7.4

安装

anso/http 可以通过 Composer 安装。

composer require anso/http:dev-master

使用方法

在实例化 Application 对象并调用 start() 方法之前,必须创建和放置一些配置文件在一个单独的文件夹中。

  • exception_handler.php - 必须返回 ExceptionHandler 实例
  • providers.php - 必须返回一个包含 Providers 的数组,这些 Providers 用于注册 DI 容器的绑定。
  • routes.php - 必须返回 RouteCollection 实例。它包含可以使用 BaseRouter 创建的路由。每个路由都有一个 Action,用于处理 Request 并返回 Response

之后,应用程序可以像这样启动(/public/index.php)

<?php

define('BASE_PATH', __DIR__ . '/..');

require __DIR__ . '/../vendor/autoload.php';

use Anso\Framework\Base\Configuration;
use Anso\Framework\Base\Container;
use Anso\Framework\Base\Contract\Application;
use Anso\Framework\Http\HttpApp;

$configuration = new Configuration('/config/http');
$container = new Container($configuration);
$app = new HttpApp($container, $configuration);

$container->addResolved(Application::class, $app);

$app->start();
  • 需要 BASE_PATH 常量来包含配置文件并在以后从它们中提取值。
  • 为了启用自动加载,需要引入 composer 的 autoload.php。
  • 然后创建 ConfigurationContainerHttpApp 对象。确保在提供者中将 ApplicationContainerConfiguration 注册为单例,或者在创建 $app 对象后立即进行。
  • $app 对象应该被标记为已解决,这样如果以后需要,就不会创建一个具有错误配置的重复 app 对象。
  • 最后,应用程序可以开始工作。