fusio /adapter-symfony
集成 symfony 框架的功能
v5.0.0
2022-01-07 20:52 UTC
Requires
- php: >=8.0
- doctrine/orm: ^2.7
- fusio/engine: ^5.0
- jms/serializer: ^3.4
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-03 19:00:04 UTC
README
Fusio适配器,帮助集成Symfony功能。您可以在Fusio项目中按照以下步骤安装适配器
composer require fusio/adapter-symfony
php bin/fusio system:register "Fusio\Adapter\Symfony\Adapter"
配置
所有实体都需要放在src/Entity
文件夹中,因为Doctrine连接只检查此文件夹。
示例
通过Doctrine连接,您可以使用Doctrine ORM构建API端点,即
<?php namespace App\Action; use Fusio\Engine\ActionAbstract; use Fusio\Engine\ContextInterface; use Fusio\Engine\ParametersInterface; use Fusio\Engine\RequestInterface; use JMS\Serializer\SerializerBuilder; class Messages extends ActionAbstract { public function handle(RequestInterface $request, ParametersInterface $configuration, ContextInterface $context) { /** @var \Doctrine\ORM\EntityManager $entityManager */ $entityManager = $this->connector->getConnection('doctrine'); /** @var \JMS\Serializer\ArrayTransformerInterface $serializer */ $serializer = SerializerBuilder::create()->build(); $dql = "SELECT m FROM App\Entity\Message m ORDER BY m.id DESC"; $query = $entityManager->createQuery($dql); $messages = $query->getResult(); $result = []; foreach ($messages as $message) { $result[] = $serializer->toArray($message); } return $this->response->build(200, [], [ 'messages' => $result, ]); } }