W Zend Framework 2 bardzo łatwo jest dodać początkowy baner modułu do aplikacji konsolowych.Tworzenie aplikacji konsolowej ZF3
Wszystko musimy jest wdrożenie metod i getConsoleUsage
getConsoleBanner
i wdrożenie interfejsów Zend\ModuleManager\Feature\ConsoleUsageProviderInterface
lub ConsoleBannerProviderInterface
.
To wystarczy, aby zrzucić te wiadomości na konsoli po uruchomieniu public/index.php
przez interfejs CLI.
W Zend Framework 3 to nie to samo.
Wykonanie tego samego ustawienia nie daje tego samego wyniku. Właściwie w konsoli widzimy domyślną stronę html dla szkieletu aplikacji w taki sam sposób, w jaki odwiedzamy ją przez przeglądarkę.
Że strona jest postrzegane zanim zainstalować moduł niestandardowe: Oto docs dla modułu zend-mvc-console
https://zendframework.github.io/zend-mvc-console/intro/
Nawet po moduł jest zainstalowany zgodnie z sugestią ('Zend\Mvc\Console'
dodany w definicjach modułów) chorągwie konsola nie są pokazane. Przetestowałem z var dumping wewnątrz metod i jestem w stanie przeglądać dane, więc framework wykonuje te metody, ale nie pokazuje wyniku w konsoli.
Testowałem przy użyciu tras konsoli i kontrolerów. Trasa zostanie znaleziona, akcja kontrolera zostanie wykonana, ale nic nie pojawi się ponownie w cli.
Wkopałem się w kod frameworka i wygląda na to, że klasa Zend\Mvc\Console\ResponseSender\ConsoleResponseSender
nigdy nie jest wykonywana.
Czy muszę zarejestrować niektóre strategie view_manager
, aby wyświetlić coś w interfejsie CLI?
Oto źródła na górze zf3 szkielet aplikacji: https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b
uruchamiając aplikację:
$ 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
To może być błąd w Zend-MVC-konsoli: https://github.com/zendframework/zend-mvc-console/ issues/12 – avy
@kazar: Czy udało ci się wdrożyć konsolę zf zgodnie z sugestią @weierophinney?Jeśli tak, czy podzieliłbyś się z nami tym, czym się podzieliłeś? –