padcmoi / bundle-api-slim
用于在 SLIM 上创建 API 的实用类包
0.7.0
2022-03-15 22:37 UTC
Requires
- php: ^7.2
- padcmoi/simply-jwt: ^1.0
- phpmailer/phpmailer: ^6.6
- vlucas/phpdotenv: ^5.3
README
用于在 SLIM 上创建 API 的实用类包
➡️安装
composer require padcmoi/bundle-api-slim
➡️主要功能
- ✔️ 数据库 PDO(SQL)
- ✔️ DotEnv
- ✔️ SanitizeData
- ✔️ JWT 认证
- ✔️ CSRF
- ✔️ 验证码
- ✔️ 其他
- ✔️ ...
➡️使用方法
示例
use Padcmoi\BundleApiSlim\Database; use Padcmoi\BundleApiSlim\Misc; use Padcmoi\BundleApiSlim\SanitizeData; use Padcmoi\BundleApiSlim\Token\JwtToken; // database $lastInsertId = Database::insert( "INSERT INTO `__tokens` SET `payload` = md5(:payload), `header` = 'jwt', `uid` = :uid, `not_before_renew` = DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL :nbf SECOND), `expire_at` = DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL :exp SECOND)", array(':payload' => $serializedToken, ':uid' => $uid, ':nbf' => $nbf, ':exp' => $expire) ); // ... // auth token $jwt_token = JwtToken::create(); $uid = JwtToken::getUid($jwt_token); var_dump(JwtToken::check($jwt_token)); SanitizeData::without(['ab', 'baa', 'aa']); SanitizeData::clean(true, []); Misc::snakeCase('aze ert uUu . tt.oo__aa//jjj;içp'); // Use only JWT use Padcmoi\BundleApiSlim\Token\SimplyJWT; SimplyJWT::init('***PRIVATE_KEY***', 'HS256', 3600); // KEY, Algorithm, Expire Timestamp $serializedToken = SimplyJWT::encode([ "exp" => time() + 3600, "iat" => time(), "uid" => -1, // Id account ]); $payload = SimplyJWT::decode($serializedToken);
➡️其他
🧳Packagist
https://packagist.org.cn/packages/padcmoi/bundle-api-slim
🔖许可
此作品受 MIT 许可。
🔥在 discord 上联系我
discord 链接 discord.gg/257rUb9
🍺如果您想请我喝啤酒
通过 Paypal 捐赠给我 😍 点击这里