zuruuh / blagues-api
blagues-api 的 PHP 封装
2.0.0
2023-07-13 13:41 UTC
Requires
- php: >=8.0
- php-http/discovery: ^1.19
- php-http/httplug: ^2.4
- psr/http-client-implementation: *
- psr/http-factory: ^1.0
- symfony/property-access: ^4.0|^5.0|^6.0|^7.0
- symfony/serializer: ^4.0|^5.0|^6.0|^7.0
Requires (Dev)
- nyholm/psr7: ^1.8
- symfony/http-client: ^6.3
- symfony/var-dumper: ^6.3
README
Blagues API 是一个公开、法语和开源的 API,任何人都可以访问和贡献大量各种类型的笑话。此 Packagist 包允许任何人在 PHP 中非常简单地与 API 交互,采用面向对象的方法。
身份验证
您可以在官方网站 https://www.blagues-api.fr 上点击“登录”按钮来获取您的身份验证令牌。
示例
以下是一些简单的示例,说明您如何与 API 交互。
<?php declare(strict_types=1); use BlaguesApi\Factory\BlaguesApiFactory; $blaguesApi = BlaguesApiFactory::create($_ENV['TOKEN']); $joke = $blaguesApi->getRandom(); // Renvoies une instance de la classe BlaguesApi\Model\Joke var_dump($joke->getJoke()); // Renvoie le contenu de la blague. var_dump($joke->getAnswer()); // Renvoie la réponse à la blague si il y en a une.
<?php declare(strict_types=1); use BlaguesApi\Model\Joke; use BlaguesApi\Factory\BlaguesApiFactory; $blaguesApi = BlaguesApiFactory::create($_ENV['TOKEN']); $joke = $blaguesApi->getById(1234); dump($joke->getId()); // renvoies 1234 $joke = $blaguesApi->getRandom([Joke::TYPE_DARK]); // Récuperes une blague aléatoire de n'importe quel type excepté `Joke::TYPE_DARK`. $joke = $blaguesApi->getByType(Joke::TYPE_DEV); // Récuperes une blague aléatoire de type `Joke::TYPE_DEV`.
使用 Symfony 的示例
<?php declare(strict_types=1); namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; use BlaguesApi\Factory\BlaguesApiFactory; class JokeController extends AbstractController { #[Route('/joke')] public function jokeAction(#[Autowire('%env(BLAGUES_API_TOKEN)%')] string $blaguesApiToken): Response { $blaguesApi = BlaguesApiFactory::create($blaguesApiToken); $joke = $blaguesApi->getRandom(); return $this->render('template/joke.html.twig', [ 'joke' => $joke, ]); } }
使用 Symfony 的示例:依赖注入 + 工厂
# config/services.yaml services: BlaguesApi\BlaguesApiInterface: factory: ['BlaguesApi\BlaguesApiFactory', create] arguments: ['%env(BLAGUES_API_TOKEN)%']
<?php // src/Controller/JokeController declare(strict_types=1); namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; use BlaguesApi\BlaguesApiInterface; class JokeController extends AbstractController { #[Route('/joke')] public function jokeAction(BlaguesApiInterface $blaguesApi): Response { $joke = $blaguesApi->getRandom(); return $this->render('template/joke.html.twig', [ 'joke' => $joke, ]); } }
贡献
要为项目做出贡献,请参阅 contributing.md。