yknsilva/phractico
PHP API 微项目
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.8
- symfony/http-foundation: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.42
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
README
🚀 使用 phractico,一个旨在通过简洁性加速您的 API 项目的 PHP 微项目,快速起飞!
composer create-project yknsilva/phractico
摘要
用法
phractico 是为了您的宝贵资源——时间而设计的!⌚
phractico 的理念涉及更少的配置文件以使您的 PHP API 运行。引导文件集中了整个应用程序配置,包括 控制器、路由 等。
要向您的 API 中引入新的端点,您只需创建一个通过实现 Controller
接口及其 routes
方法来创建的 控制器 类。然后,描述路由资源到其操作。最后,在 ApplicationControllerProvider.php 中映射新的控制器。
就是这样! 🎉
有关示例,请参阅 ExampleController。
数据库
您的数据库连接必须在 ApplicationDatabaseProvider.php 类内部进行映射,该类在应用程序初始化时由引导文件消耗。
默认情况下,phractico 附带一个 SQLite 数据库适配器,假设数据库文件位于路径 /path/to/phractico/database/database.sqlite
。
如果您想要其他适配器,您只需实现 Connection,然后在 ApplicationDatabaseProvider
文件中映射您的新适配器。
容器 DI
phractico 使用依赖容器来管理整个应用程序中的依赖项。容器及其相应的依赖映射在 ApplicationContainer 中声明。在应用程序运行时,依赖容器被注入到应用程序实例中,然后在应用程序引导阶段使用。
phractico 包含一个 简单容器,但它旨在支持任何其他实现 PSR-11 的依赖注入容器,例如 PHP-DI。
安装
使用 phractico 和 phpctl 快速起飞
- 运行
composer
phpctl composer install
- 运行本地服务器
phpctl server 8000 public/
- 执行 HTTP 请求以确保一切正常!
curl -X GET 'https://:8000/example'
- 执行 HTTP 请求以确保数据库连接正常!
- 注意:需要 PHP
sqlite3
扩展才能使用SQLiteAdapter
- 注意:需要 PHP
curl -X POST 'https://:8000/exampleDatabase' \ --header 'Content-Type: application/json' \ --data '{ "test": "database" }'
测试和质量工具
要执行所有 PHPUnit 测试套件,请运行
phpctl composer test
要执行质量工具,请运行
phpctl composer quality
贡献
请随意探索项目,让 phractico 更加实用!