xtreamwayz/expressive-console

此包已被放弃且不再维护。未建议替代包。

Mezzio 的 Symfony Console

1.4.0 2021-12-09 19:05 UTC

README

No Maintenance Intended

非常感谢您对这个项目的关注!开源是有回报的,但也可以很累人。因此,此代码以现状提供,目前没有积极维护。我们邀请您查阅代码,甚至可以在您的下一个项目中使用它,前提是您遵守所包含的许可证!

不提供对代码的支持保证,也不承诺将审查或合并拉取请求。它是开源的,因此允许分叉;只需确保给予应有的信用!

Mezzio 的 Symfony Console

此包将 Symfony Console 带到您的 Mezzio 项目中。它使用 FactoryCommandLoader 进行依赖项的懒加载。FactoryCommandLoader 做得很好:它只加载所需的单个命令。但是,如果没有请求任何命令,它仍然初始化所有命令以获取每个命令的描述。这可以通过使用 LazyLoadingCommand 来修复。通过一些反射和魔法,它从原始命令中获取配置,同时防止命令执行。这样,您将获得所有命令及其描述的列表。

安装

$ composer require xtreamwayz/mezzio-console

配置

<?php

declare(strict_types=1);

namespace App;

return [
    'dependencies' => [
        'factories' => [
            Console\MyCommand::class      => Console\MyCommandFactory::class,
            Console\AnotherCommand::class => Console\AnotherCommandFactory::class,
        ],
    ],

    'console' => [
        'commands' => [
            'my:command'      => Console\MyCommand::class,
            'another:command' => Console\AnotherCommand::class,
        ],
    ],
];

文档

所有项目文档位于 ./docs 文件夹中。如果您想为文档做出贡献,请提交拉取请求。您可以在网上阅读文档:https://xtreamwayz.github.io/mezzio-console/

贡献

在您开始工作于一个特性或修复之前,请阅读并遵循贡献指南,以帮助避免任何浪费或重复的努力。

版权和许可证

代码在MIT 许可证下发布。文档在CC BY 4.0下分发。