CakePHP 3.x:隐藏shell类

时间:2015-06-03 15:10:27

标签: shell cakephp cakephp-3.0

我有一个src/Shell/AppShell.php类,它扩展到所有其他shell类,并包含所有其他类使用的常用方法。 换句话说,这个类不包含任何可直接调用的方法。

如果我启动控制台:

bin/cake

自动检测到该类并显示:

$ bin/cake

Welcome to CakePHP v3.0.6 Console
[...]
Available Shells:
[...]
[MyPlugin] app, compress, install
[...]
$ bin/cake MeTools.app
Usage:
cake my_plugin.app [-h] [-v] [-q]

Options:

--help, -h     Display this help.
--verbose, -v  Enable verbose output.
--quiet, -q    Enable quiet output.

如何隐藏它而不是让它可执行? 感谢。

1 个答案:

答案 0 :(得分:1)

通过扫描.php个文件的shell文件夹来检索可用的shell。

仅对主应用中存在的shell列表进行排除,默认情况下会隐藏核心(AppShellCommandListShellCompletionShell),插件shell列表不会被过滤,所以隐藏这样一个shell的唯一方法是

  • 使用非.php文件扩展名(不是一个好主意,因为它打破了默认的PSR-4自动加载器)
  • 或将基本shell类移动到另一个目录(shell文件夹中的子目录应该这样做)