symplify/amnesia

此包已被放弃且不再维护。作者建议使用https://symfony.ac.cn/blog/new-in-symfony-5-3-config-builder-classes 包代替。

长期记忆的缓解

10.2.7 2022-05-21 11:10 UTC

This package is auto-updated.

Last update: 2022-05-27 11:33:28 UTC


README

Downloads total

安装

composer require symplify/amnesia

使用

此包有助于处理 Symfony PHP 配置

更新易出错的字符串配置到可靠的 PHP 常量

FrameworkExtension

use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\Amnesia\ValueObject\Symfony\Extension\FrameworkExtension;
use function Symplify\Amnesia\Functions\env;

return static function (ContainerConfigurator $containerConfigurator): void {
    $containerConfigurator->extension(FrameworkExtension::NAME, [
        FrameworkExtension::SECRET => env('APP_SECRET'),
    ]);
};

TwigExtension

use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\Amnesia\ValueObject\Symfony\Extension\Twig\NumberFormat;
use Symplify\Amnesia\ValueObject\Symfony\Extension\TwigExtension;

return static function (ContainerConfigurator $containerConfigurator): void {
    $containerConfigurator->extension(TwigExtension::NAME, [
        TwigExtension::DEFAULT_PATH => '%kernel.project_dir%/templates',
        TwigExtension::PATHS => [__DIR__ . '/../../packages/framework-stats/templates'],
        TwigExtension::GLOBALS => [
            'site_title' => 'Tomas Votruba',
        ],
        // see https://symfony.ac.cn/blog/new-in-symfony-2-7-default-date-and-number-format-configuration
        TwigExtension::NUMBER_FORMAT => [
            NumberFormat::DECIMALS => 0,
            NumberFormat::DECIMAL_POINT => '.',
            NumberFormat::THOUSANDS_SEPARATOR => ' ',
        ],
    ]);
};

Routing

use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
use Symplify\Amnesia\ValueObject\Symfony\Routing;

return static function (RoutingConfigurator $routes): void {
    $routes->import(__DIR__ . '/../src/Controller', Routing::TYPE_ANNOTATION);
};

DoctrineExtension

use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\Amnesia\ValueObject\Symfony\Extension\Doctrine\DBAL;
use Symplify\Amnesia\ValueObject\Symfony\Extension\Doctrine\Mapping;
use Symplify\Amnesia\ValueObject\Symfony\Extension\Doctrine\ORM;
use Symplify\Amnesia\ValueObject\Symfony\Extension\DoctrineExtension;
use function Symplify\Amnesia\Functions\env;

return static function (ContainerConfigurator $containerConfigurator): void {
    $containerConfigurator->extension(DoctrineExtension::NAME, [
        DoctrineExtension::DBAL => [
            DBAL::HOST => env('DATABASE_HOST'),
            DBAL::DBNAME => env('DATABASE_DBNAME'),
            DBAL::USER => env('DATABASE_USER'),
            DBAL::PASSWORD => env('DATABASE_PASSWORD'),
        ],
        DoctrineExtension::ORM => [
            ORM::AUTO_GENERATE_PROXY_CLASSES => true,
            ORM::MAPPINGS => [
                'demo' => [
                    Mapping::IS_BUNDLE => false,
                    Mapping::DIR => __DIR__ . '/../../packages/demo/src/Entity',
                    Mapping::PREFIX => 'Rector\Website\Demo\Entity',
                ],
            ],
        ],
    ]);
};

报告问题

如果您遇到错误或想要请求新功能,请访问 Symplify monorepo 问题跟踪器

贡献

此包的源代码包含在 Symplify monorepo 中。我们欢迎在 symplify/symplify 上为此包做出贡献。