ablaise/meteion-bundle

MeteionBundle 是 Meteion 库的 Symfony 集成。

安装: 11

依赖者: 0

建议者: 0

安全性: 0

星星: 1

观察者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

1.0.1 2022-05-02 15:15 UTC

This package is auto-updated.

Last update: 2024-09-12 23:38:06 UTC


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']);
    }
    
    // ...
}

下一步是什么?

  • 新的实体相关服务
  • 改进的命令