anso / http
Http 框架用于训练项目。
dev-master
2020-11-11 12:55 UTC
Requires
- php: ^7.4
- anso/base: *
- symfony/http-foundation: ^5.0.2
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-11 21:32:55 UTC
README
需求
PHP >= 7.4
安装
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。
- 然后创建 Configuration、Container 和 HttpApp 对象。确保在提供者中将 Application、Container 和 Configuration 注册为单例,或者在创建 $app 对象后立即进行。
- $app 对象应该被标记为已解决,这样如果以后需要,就不会创建一个具有错误配置的重复 app 对象。
- 最后,应用程序可以开始工作。