ablaise / meteion-bundle
MeteionBundle 是 Meteion 库的 Symfony 集成。
1.0.1
2022-05-02 15:15 UTC
Requires
- php: ^7.2|^8.0
- ablaise/meteion: ^0.1
- symfony/framework-bundle: ^5.3|^6.0
Requires (Dev)
README
MeteionBundle 是 Meteion 库 的 Symfony 集成。
主要功能
- 自动配置
- 命令
- 服务
- 实体
安装
首先,您需要使用以下命令启用配方(contrib)。
composer config extra.symfony.allow-contrib true
然后使用以下命令添加 MeteionBundle。
composer require ablaise/meteion-bundle
入门指南
环境变量
您只需填写环境变量 METEION_RAWEXD_PATH
,它表示使用 SaintCoinach 提取的 rawexd
目录的位置。
###> ablaise/meteion-bundle ###
METEION_RAWEXD_PATH="/path/to/rawexd"
###< ablaise/meteion-bundle ###
配置
除非您需要指定不同的 dbal 连接,否则您可以使用默认设置。
# config/packages/meteion.yaml meteion: dbal_connection: 'default' rawexd_path: '%env(string:METEION_RAWEXD_PATH)%'
命令
一旦您已定义 DATABASE_URL
连接,您只需创建相关数据库并运行 Meteion,使用以下命令。
php bin/console doctrine:database:create php bin/console meteion:run
在运行 meteion:run
命令之前,请确保为您的服务器分配足够的资源。
Meteion 作为服务
MeteionManager
服务允许您使用依赖注入无需额外配置即可使用 Meteion。
public function meteion(MeteionManager $manager) { $manager->run(); // ... }
可用的实体
实体在命名空间 MeteionBundle\Entity
下可用。
use MeteionBundle\Entity\Quest; public function meteion(ManagerRegistry $doctrine) { $quest = $doctrine->getRepository(Quest::class)->findOneBy(['name' => 'Coming to Gridania']); // ... }
链接子文件夹元数据
包含在子文件夹中的以 Metadata
结尾的实体可以通过 referenceTable
字段进行链接。
use MeteionBundle\Entity\Quest; use MeteionBundle\Entity\QuestMetadata; public function meteion(ManagerRegistry $doctrine) { $quest = $doctrine->getRepository(Quest::class)->findOneBy(['name' => 'Coming to Gridania']); if (false !== $quest) { $dialogs = $doctrine->getRepository(QuestMetadata::class)->findBy(['referenceTable' => $quest->getId()], ['pk' => 'ASC']); } // ... }
下一步是什么?
- 新的实体相关服务
- 改进的命令