2015-06-03 55 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 ;-) –