quentin51100 / slim-foundation-api
包含一系列类,用于使用Slim v4构建API
v1.0.0
2023-01-19 18:36 UTC
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- ext-openssl: *
- ext-pdo: *
- fzed51/http-exception: ^3.0
- fzed51/instance-resolver: ^2.0
- fzed51/migration: ^2.0
- fzed51/pdo-helper: ^2.0
- fzed51/respect-validation-wrapper: ^4.0
- monolog/monolog: ^3.2
- pimple/pimple: ^3.5
- slim/http: ^1.2
- slim/psr7: ^1.5
- slim/slim: ^4.10
Requires (Dev)
- fakerphp/faker: ^1.20
- fzed51/version: ^2.0
- ocramius/package-versions: ^2.6
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
Suggests
- firebase/php-jwt: pour la gestion des JWT
- fzed51/info-client: pour interpréter les information du client
- fzed51/respect-validation-wrapper: pour simplifier la validation
- fzed51/spicy-mash: pour simplifier l'utilisation d'openSSL
- phpmailer/phpmailer: pour l'es envoie d'e-mail
README
foundation-api 是一个用于简化使用 Slim v4 框架创建和使用 APIA 的类集合
安装
composer require fzed51/foundation-api
使用
应用工厂
这是一个静态类,它有一个名为 create
的方法,该方法接受一个设置数组作为参数
设置
<?php return [ "logger" => [ "name" => "nom du projet", // [obligatoire] necessaire pour les logs multi projets "path" => "chemin/vers/dossier/de/log" ] ];
上面的例子是应用设置的最小必要条件
create
<?php $settings = [...]; $app = \Api\Factory::create($settings);
中间件
要创建中间件,请使用类 \Api\MiddleWare
并实现方法 __invoke
。
⚠️不要修改构造函数的签名
示例
class SampleMiddleware extends \Api\Middleware { /** * @inheritDoc */ public function __invoke(Request $request, RequestHandler $handler): Response { // Faire qqchose avant le process $response $handler->handle($request); // Faire qqchose après le process return $response; }