2015-06-03 53 views
0

我有一个src/Shell/AppShell.php类扩展到所有其他shell类,其中包含所有其他类使用的常用方法。 换句话说,这个类不包含任何可直接调用的方法。CakePHP 3.x:隐藏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

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

排除只给住在主应用程序和核心(AppShellCommandListShellCompletionShell被默认是隐藏的),该插件外壳列表不会弹的列表中进行被过滤,所以唯一的办法隐藏这样的外壳将是要么

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

谢谢@ndm ;-) –