2016-07-28 54 views
15

在Zend Framework 2中,將初始模塊橫幅添加到控制檯應用程序非常簡單。如何創建ZF3控制檯應用程序

我們所需要做的就是實施getConsoleBannergetConsoleUsage方法並實施Zend\ModuleManager\Feature\ConsoleUsageProviderInterfaceConsoleBannerProviderInterface接口。

當通過CLI啓動public/index.php時,這足以將這些消息轉儲到控制檯中。

在Zend Framework 3中它是不一樣的。

做同樣的設置不提供相同的結果。實際上,在控制檯中,我們可以看到框架應用的默認html頁面,就像我們通過瀏覽器訪問它一樣。

該頁面是被視爲我們安裝自定義模塊: 這裏是爲zend-mvc-console模塊的文檔 https://zendframework.github.io/zend-mvc-console/intro/

的建議(添加模塊定義'Zend\Mvc\Console')控制檯橫幅都沒有安裝模塊,即使在所示。我已經在方法內部測試了var轉儲,並且能夠查看數據,所以框架執行這些方法,但在控制檯中沒有顯示任何結果。

我已經測試過控制檯路由和控制器。找到路由後,控制器會執行操作,但是cli中再沒有顯示任何內容。

我已經挖掘了框架的代碼,看起來Zend\Mvc\Console\ResponseSender\ConsoleResponseSender類永遠不會執行。

我需要註冊一些view_manager策略才能在CLI中顯示某些內容嗎?

下面是對ZF3骨架應用程序的頂部來源: https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b

運行的應用程序:

$ php -v 
PHP 7.0.6 (cli) (built: Apr 27 2016 14:00:40) (ZTS) 
Copyright (c) 1997-2016 The PHP Group 
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies 

$ php public/index.php 
Application\Module::getConsoleBanner 
Application\Module::getConsoleUsage 

$ php public/index.php user 
Application\Controller\IndexController::indexAction 
+1

它可能是在Zend中-MVC-控制檯中的錯誤:https://github.com/zendframework/zend-mvc-console/問題/ 12 – avy

+0

@kachar:您是否按照@weierophinney的建議成功實施了zf-console?如果你這樣做,你會與我們分享? –

回答

相關問題